VBA er Microsofts Visual Basic programmeringssprog. Det er oftest forbundet med makroer , der anvendes i Excel regneark og nogle gange endda rapportere generation med produktionen rettet mod Word eller PowerPoint-dokumenter . VBA tilbyder udviklere alle de fælles logik muligheder i andre sprog , såsom for loops, mens loops og if /then /else udsagn. Men ligesom alle sprog , er syntaksen for at bruge disse sløjfer en smule anderledes i VBA. Når du bruger disse , processen er let og vil være enkel at gennemføre . Instruktioner
1
Opret en If-sætning i VBA som dette eksempel , der sammenligner to værdier, og skriver " Equal " eller " ikke lig " i celle A1 afhængig af resultatet af sammenligningen.
< p> Sub My_If_Test ()
Dim this_value
Dim that_value
this_value = 0
that_value = 2
p Hvis this_value = that_value Så
Sheets ( " Ark1 "). celler ( 1,1) . value = " Equal "
Else
Sheets ( " Ark1 "). Cells (1, 1). Value = "NOT EQUAL "
End If
End Sub
p Hvis du har brug for at teste, hvis noget ikke er lige, tegnet er < > .
2
Opret en for-løkke i VBA følge dette eksempel kode, der vil indsætte værdien af en forøget tæller i hver tilsvarende række .
Sub My_For_Test ()
Dim counter
Dim end_value
end_value = 10
counter = 0 til end_value Trin 1
Sheets ( " Ark1 "). Celler ( tæller, 1). Value = counter
Næste
End Sub
3
Opret en Do /Mens løkke i VBA som i dette eksempel kode, der ligesom for loop eksempel indsætter værdien af en forøget tæller i hver tilsvarende række .
Sub My_DoWhile_Test ()
Dim index
Dim end_value
index = 0
end_value = 10
Do While index < end_value
Sheets ( " Ark1 "). celler ( tæller, 1). Value = indeks
< p > index = index + 1
loop
End Sub
logik Do /While-løkke er sådan, at hvis den oprindelige sammenligning af While betingelse svigter, loop udføres ikke. For eksempel havde hvis indeks svarede 10 eller mere, før den kode, henrettet dette Må /Mens loop, ville kode inde i løkken aldrig løbe .
4
Opret en Do /Indtil løkke i VBA som i dette eksempel kode, ligesom Do /Mens loop fx indsætter værdien af en forøget tæller i hver tilsvarende række .
Sub My_DoUntil_Test ()
Dim index
Dim end_value < br >
index = 0
end_value = 10
Gør
Sheets ( " Ark1 "). celler ( tæller, 1). Value = indeks
indeks = indeks + 1
loop Indtil index = end_value
end Sub
logik Do /Indtil løkke er subtilt anderledes end en Do /Mens loop . Koden i Må /Indtil udføres mindst én gang , selvom Indtil tilstanden svigter. For eksempel havde hvis indeks svarede 10 eller mere, før den kode, henrettet dette Må /Indtil loop , ville kode inde i løkken udføres én gang alligevel.