Procijenjeno vrijeme čitanja: 3 minuti
Sljedeća podprocedura čita vrijednosti iz ćelija u stupcu A aktivnog radnog lista, sve dok ne naiđe na praznu ćeliju. Vrijednosti su pohranjene u nizu. Ovaj jednostavni primjer Excel makronaredbe ilustrira upotrebu:
Do Until
;Ubound
ugrađen (koji vraća najveći indeks niza).' Sub procedure store values in Column A of the active Worksheet
' into an array
Sub GetCellValues()
Dim iRow As Integer ' stores the current row number
Dim dCellValues() As Double ' array to store the cell values
iRow = 1
ReDim dCellValues(1 To 10)
' Do Until loop to extract the value of each cell in column A
' of the active Worksheet, as long as the cell is not blank
Do Until IsEmpty(Cells(iRow, 1))
' Check that the dCellValues array is big enough
' If not, use ReDim to increase the size of the array by 10
If UBound(dCellValues) < iRow Then
ReDim Preserve dCellValues(1 To iRow + 9)
End If
' Store the current cell in the CellValues array
dCellValues(iRow) = Cells(iRow, 1).Value
iRow = iRow + 1
Loop
End Sub
Procedura pohranjuje vrijednosti u stupcu A aktivnog radnog lista u nizu, imajte na umu da:
Do Until
izdvaja vrijednosti svake ćelije u stupcu A aktivnog radnog lista, zanemarujući prazne ćelijeIf UBound(dCellValues) < iRow
” provjerava je li polje dCellValues dovoljno veliko za držanje informacija, ako nije, upotrijebite ReDim da povećate veličinu polja za 10dCellValues(iRow) = Cells(iRow, 1).Value
” Pohranjuje trenutnu ćeliju u polje CellValues Sljedeća potprocedura čita vrijednosti iz stupca A radnog lista pod nazivom "Sheet2" i izvodi aritmetičke operacije na vrijednostima. Rezultirajuće vrijednosti ispisuju se u stupcu A trenutno aktivnog radnog lista.
Ova makronaredba ilustrira:
Do Until
;' Sub procedure to loop through the values in Column A of the Worksheet
' "Sheet2", perform arithmetic operations on each value, and write the
' result into Column A of the current Active Worksheet ("Sheet1")
Sub Transfer_ColA()
Dim i As Integer
Dim Col As Range
Dim dVal As Double
' Set the variable 'Col' to be Column A of Sheet 2
Set Col = Sheets("Sheet2").Columns("A")
i = 1
' Loop through each cell of the column 'Col' until
' a blank cell is encountered
Do Until IsEmpty(Col.Cells(i))
' Apply arithmetic operations to the value of the current cell
dVal = Col.Cells(i).Value * 2 + 1
' The command below copies the result into Column A
' of the current Active Worksheet - no need to specify
' the Worksheet name as it is the active Worksheet.
Cells(i, 1) = dVal
i = i + 1
Loop
End Sub
Napišimo jednostavnu VBA makronaredbu koja se aktivira kada se ćelija u određenom rasponu našeg lista ažurira. Pretpostavimo da želite pratiti promjene u stupcu B (B4 do B11) i zabilježiti datum i vrijeme promjene u stupcu A.
Nastavimo ovako:
Developer
kliknite na opciju "Visual Basic
” za otvaranje VBA uređivača. Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1:B10")) Is Nothing Then
Target.Range("A1:A1").Value = Now
End If
End Sub
Spremite radnu knjigu s omogućenim makronaredbama (na primjer, kao .xlsm datoteku).
Sada, svaki put kada ažuriramo ćeliju u stupcu B (od retka 1 do retka 10), ćelija u stupcu A automatski će prikazati trenutni datum i vrijeme.
Ercole Palmeri
Coveware by Veeam nastavit će pružati usluge odgovora na incidente cyber iznude. Coveware će ponuditi forenziku i mogućnosti sanacije...
Prediktivno održavanje revolucionira sektor nafte i plina, s inovativnim i proaktivnim pristupom upravljanju postrojenjima.…
UK CMA izdao je upozorenje o ponašanju Big Tech-a na tržištu umjetne inteligencije. Tamo…
Uredba o "zelenim kućama", koju je formulirala Europska unija za povećanje energetske učinkovitosti zgrada, završila je svoj zakonodavni proces s...