Anggaran masa membaca: 3 minuti
Prosedur Sub berikut membaca nilai daripada sel dalam lajur A lembaran kerja aktif, sehingga ia menemui sel kosong. Nilai disimpan dalam tatasusunan. Contoh makro Excel mudah ini menggambarkan penggunaan:
Do Until
;Ubound
builtin (yang mengembalikan indeks tertinggi tatasusunan).' 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
Prosedur menyimpan nilai dalam lajur A lembaran kerja aktif dalam tatasusunan, ambil perhatian bahawa:
Do Until
mengekstrak nilai setiap sel dalam lajur A lembaran kerja aktif, mengabaikan sel kosongIf UBound(dCellValues) < iRow
” semak bahawa tatasusunan dCellValues cukup besar untuk menyimpan maklumat, jika tidak, gunakan ReDim untuk meningkatkan saiz tatasusunan sebanyak 10dCellValues(iRow) = Cells(iRow, 1).Value
” Menyimpan sel semasa dalam tatasusunan CellValuesProsedur Sub berikut membaca nilai dari lajur A lembaran kerja bernama "Helaian2" dan menjalankan operasi aritmetik pada nilai. Nilai yang terhasil dicetak dalam lajur A lembaran kerja aktif semasa.
Makro ini menggambarkan:
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
Mari kita tulis makro VBA mudah yang menyala apabila sel dalam julat tertentu helaian kami dikemas kini. Katakan anda ingin menjejaki perubahan dalam lajur B (B4 hingga B11) dan merekodkan tarikh dan masa perubahan dalam lajur A.
Mari kita teruskan seperti ini:
Developer
klik pada pilihan "Visual Basic
” untuk membuka editor 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
Simpan buku kerja dengan makro didayakan (contohnya, sebagai fail .xlsm).
Kini, setiap kali kami mengemas kini sel dalam lajur B (dari baris 1 hingga baris 10), sel dalam lajur A akan memaparkan tarikh dan masa semasa secara automatik.
Ercole Palmeri
Coveware oleh Veeam akan terus menyediakan perkhidmatan tindak balas insiden pemerasan siber. Coveware akan menawarkan keupayaan forensik dan pemulihan…
Penyelenggaraan ramalan sedang merevolusikan sektor minyak & gas, dengan pendekatan yang inovatif dan proaktif terhadap pengurusan loji.…
CMA UK telah mengeluarkan amaran tentang tingkah laku Big Tech dalam pasaran kecerdasan buatan. di sana…
Dekri "Case Green", yang dirumuskan oleh Kesatuan Eropah untuk meningkatkan kecekapan tenaga bangunan, telah menamatkan proses perundangannya dengan…