Тооцоолсон унших хугацаа: 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 макро бичье. Та В баганад (B4-ээс В11) өөрчлөлтийг хянаж, А баганад өөрчлөлтийн огноо, цагийг тэмдэглэнэ гэж бодъё.
Ингээд үргэлжлүүлье:
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
Coveware by Veeam нь кибер хулгайн гэмт хэргийн хариу арга хэмжээг үргэлжлүүлэн үзүүлэх болно. Coveware нь шүүх эмнэлэг, нөхөн сэргээх чадварыг санал болгоно ...
Урьдчилан таамагласан засвар үйлчилгээ нь газрын тос, байгалийн хийн салбарт хувьсгал хийж, үйлдвэрийн менежментэд шинэлэг, санаачлагатай ханддаг.…
Их Британийн CMA хиймэл оюун ухааны зах зээл дэх Big Tech-ийн зан байдлын талаар анхааруулга гаргажээ. Тэнд…
Барилгын эрчим хүчний үр ашгийг дээшлүүлэх зорилгоор Европын холбооноос гаргасан "Case Green" тогтоол нь хууль тогтоох үйл явцаа дуусгасан ...