Болжалды оқу уақыты: 3 минуты
Келесі ішкі процедура бос ұяшыққа тап болғанша белсенді жұмыс парағының А бағанындағы ұяшықтардағы мәндерді оқиды. Мәндер массивте сақталады. Бұл қарапайым Excel макрос мысалының қолданылуын көрсетеді:
Do Until
;Ubound
buildin (ол массивтің ең жоғары индексін қайтарады).' 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
Процедура белсенді жұмыс парағының А бағанындағы мәндерді массивте сақтайды, мынаны ескеріңіз:
Do Until
бос ұяшықтарды елемей, белсенді жұмыс парағының А бағанындағы әрбір ұяшықтың мәндерін шығарадыIf UBound(dCellValues) < iRow
dCellValues массивінің ақпаратты сақтау үшін жеткілікті үлкен екенін тексереді, егер жоқ болса, массив өлшемін 10-ға ұлғайту үшін ReDim пайдаланыңыз.dCellValues(iRow) = Cells(iRow, 1).Value
» Ағымдағы ұяшықты CellValues массивінде сақтайдыКелесі Ішкі процедура «2-парақ» деп аталатын жұмыс парағының А бағанындағы мәндерді оқиды және мәндерге арифметикалық амалдарды орындайды. Алынған мәндер ағымдағы белсенді жұмыс парағының А бағанында басып шығарылады.
Бұл макрос мыналарды көрсетеді:
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
Парақтың белгілі бір ауқымындағы ұяшық жаңартылған кезде іске қосылатын қарапайым VBA макросын жазайық. B бағанындағы өзгерістерді (B4 - B11) бақылап, А бағанындағы өзгеріс күні мен уақытын жазғыңыз келеді делік.
Осылай жалғастырайық:
Developer
опциясын басыңыз»Visual Basic
VBA өңдегішін ашу үшін ». 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
Жұмыс кітабын макростар қосылған күйде сақтаңыз (мысалы, .xlsm файлы ретінде).
Енді B бағанындағы ұяшықты жаңартқан сайын (1-жолдан 10-жолға дейін), А бағанындағы ұяшық автоматты түрде ағымдағы күн мен уақытты көрсетеді.
Ercole Palmeri
Veeam ұсынған Coveware кибербопсалау оқиғаларына жауап беру қызметтерін көрсетуді жалғастырады. Coveware криминалистикалық және қалпына келтіру мүмкіндіктерін ұсынады ...
Болжалды техникалық қызмет көрсету зауытты басқаруға инновациялық және белсенді көзқараспен мұнай және газ секторында төңкеріс жасайды.…
Ұлыбританияның CMA жасанды интеллект нарығындағы Big Tech әрекеті туралы ескерту жасады. Ана жерде…
Ғимараттардың энергия тиімділігін арттыру үшін Еуропалық Одақ тұжырымдаған «Жасыл үйлер» жарлығы өзінің заң шығару процесін аяқтады ...