VBA -cellvärde - Hämta, ställ in eller ändra

Denna handledning lär dig hur du interagerar med cellvärden med VBA.

Ange cellvärde

För att ställa in ett cellvärde, använd egenskapen Value för området Range eller Cells.

Range.Value & Cells.Value

Det finns två sätt att referera till cell (er) i VBA:

  • Områdeobjekt - Område (“A2”). Värde
  • Celler objekt - Celler (2,1). Värde

Med Range -objektet kan du referera till en cell med hjälp av standard A1 -notationen.

Detta kommer att ställa in intervallet A2: s värde = 1:

1 Område ("A2"). Värde = 1

Cells -objektet låter dig referera till en cell med dess radnummer och kolumnnummer.

Detta ställer in intervall A2: s värde = 1:

1 Celler (2,1). Värde = 1

Lägg märke till att du anger radnumret först:

1 Celler (rad_nummer, kol_nummer)

Ställ in flera cellers värden på en gång

Istället för att referera till en enda cell kan du referera till ett cellintervall och ändra alla cellvärden samtidigt:

1 Område ("A2: A5"). Värde = 1

Ange cellvärde - text

I exemplen ovan anger vi cellvärdet lika med ett tal (1). Istället kan du ställa in cellvärdet som är lika med en textsträng. I VBA måste all text omges av citat:

1 Område ("A2"). Värde = "Text"

Om du inte omger texten med citat kommer VBA att tro att du refererar till en variabel …

Ange cellvärde - variabel

Du kan också ange ett cellvärde som är lika med en variabel

1234 Dim strText som strängstrText = "Textsträng"Område ("A2"). Värde = strText

Få cellvärde

Du kan få cellvärden med samma Value -egenskap som vi använde ovan.

Få ActiveCell -värde

För att få ActiveCell -värdet och visa det i en meddelanderuta:

1 MsgBox ActiveCell.Value

Tilldela cellvärde till variabel

För att få ett cellvärde och tilldela det till en variabel:

123 Dim var som variantvar = intervall ("A1"). Värde

Här använde vi en variabel av typen Variant. Variantvariabler kan acceptera alla typer av värden. Istället kan du använda en strängvariabel:

123 Dim var som strängvar = intervall ("A1"). Värde

En strängvariabel typ accepterar numeriska värden, men den lagrar siffrorna som text.

Om du vet att ditt cellvärde kommer att vara numeriskt kan du använda en dubbelvariabel (dubbelvariabler kan lagra decimalvärden):

123 Dim var som Dubbelvar = intervall ("A1"). Värde

Men om du försöker lagra ett cellvärde som innehåller text i en dubbel variabel får du ett felmeddelande om felaktig typ:

Andra exempel på cellvärde

Kopiera cellvärde

Det är enkelt att ställa in ett cellvärde som är lika med ett annat cellvärde (eller "Kopiera" ett cellvärde):

1 Område ("A1"). Värde = intervall ("B1"). Värde

Du kan till och med göra detta med cellområden (intervallerna måste ha samma storlek):

1 Område ("A1: A5"). Värde = intervall ("B1: B5"). Värde

Jämför cellvärden

Du kan jämföra cellvärden med hjälp av standardjämförelserna.

Testa om cellvärdena är lika:

1 MsgBox -intervall ("A1"). Värde = intervall ("B1"). Värde

Returnerar SANT om cellvärdena är lika. Annars FALSKT.

Du kan också skapa en If -sats för att jämföra cellvärden:

12345678910111213 Om intervall ("A1"). Värde> intervall ("B1"). Värde sedanOmråde ("C1"). Värde = "Större än"Elseif Range ("A1"). Value = Range ("B1"). Value ThenOmråde ("C1"). Värde = "lika"AnnanOmråde ("C1"). Värde = "Mindre än"Avsluta om

Du kan jämföra text på samma sätt (kom ihåg att VBA är skiftlägeskänsligt)

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave