Áætlaður lestrartími: 3 minuti
Eftirfarandi undiraðferð les gildi úr hólfum í dálki A á virka vinnublaðinu, þar til það rekst á auða reit. Gildin eru geymd í fylki. Þetta einfalda Excel macro dæmi sýnir notkun á:
Do Until
;Ubound
innbyggður (sem skilar hæstu vísitölu fylkis).' 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
Aðferðin geymir gildin í dálki A á virka vinnublaðinu í fylki, athugaðu að:
Do Until
dregur út gildi hvers reits í dálki A á virka vinnublaðinu og hunsar auðar reitiIf UBound(dCellValues) < iRow
” athugar að dCellValues fylki sé nógu stórt til að geyma upplýsingarnar, ef ekki, notaðu ReDim til að auka stærð fylkisins um 10dCellValues(iRow) = Cells(iRow, 1).Value
” Geymir núverandi reit í CellValues arrayEftirfarandi undirferli les gildin úr dálki A á vinnublaðinu sem heitir „Sheet2“ og framkvæmir reikningsaðgerðir á gildunum. Gildin sem myndast eru prentuð í dálki A á núverandi virka vinnublaði.
Þessi fjölvi sýnir:
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
Við skulum skrifa einfaldan VBA fjölvi sem kviknar þegar hólf á tilteknu sviði blaðsins okkar er uppfært. Segjum að þú viljir fylgjast með breytingum í dálki B (B4 til B11) og skrá dagsetningu og tíma breytingarinnar í dálki A.
Við skulum halda áfram svona:
Developer
smelltu á valmöguleika "Visual Basic
" til að opna VBA ritilinn. 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
Vistaðu vinnubókina með fjölva virkt (til dæmis sem .xlsm skrá).
Nú, í hvert skipti sem við uppfærum reit í dálki B (frá röð 1 í röð 10), mun reiturinn í dálki A sjálfkrafa sýna núverandi dagsetningu og tíma.
Ercole Palmeri
Coveware frá Veeam mun halda áfram að veita viðbragðsþjónustu fyrir tölvukúgun. Coveware mun bjóða upp á réttar- og úrbótamöguleika ...
Forspárviðhald er að gjörbylta olíu- og gasgeiranum, með nýstárlegri og fyrirbyggjandi nálgun við verksmiðjustjórnun.…
Breska CMA hefur gefið út viðvörun um hegðun Big Tech á gervigreindarmarkaði. Þarna…
„Case Green“ tilskipunin, mótuð af Evrópusambandinu til að auka orkunýtni bygginga, hefur lokið löggjafarferli sínu með...