Cara menelusuri spreadsheet di vba (dengan contoh)


Anda bisa menggunakan metode berikut untuk menavigasi lembar di buku kerja Excel menggunakan VBA:

Metode 1: Telusuri semua spreadsheet

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    ws.Range("A1").Value = 100

Next ws

End Sub

Makro khusus ini menelusuri setiap lembar dalam buku kerja dan menetapkan nilai di sel A1 setiap lembar menjadi 100.

Metode 2: Telusuri semua lembar kerja, kecuali lembar kerja tertentu

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select

Next ws

End Sub

Makro khusus ini mengulang setiap lembar dalam buku kerja dan menetapkan nilai di sel A1 setiap lembar menjadi 100, kecuali untuk lembar yang disebut Sheet2 dan Sheet3 .

Contoh berikut memperlihatkan cara menggunakan masing-masing metode ini dalam praktik dengan buku kerja Excel yang berisi empat lembar kosong:

Contoh 1: Jelajahi semua lembar kerja

Kita bisa menggunakan makro berikut untuk mengatur nilai sel A1 pada setiap lembar di buku kerja kita agar sama dengan 100:

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    ws.Range("A1").Value = 100

Next ws

Saat kita menjalankan makro ini, nilai sel A1 di setiap lembar buku kerja akan sama dengan 100:

Contoh 2: Telusuri semua lembar kerja, kecuali lembar kerja tertentu

Katakanlah kita ingin menelusuri setiap lembar kerja dan menetapkan nilai sel A1 di setiap lembar menjadi 100, kecuali untuk lembar yang disebut Sheet2 dan Sheet3 .

Kita dapat membuat makro berikut untuk melakukan ini:

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select

Next ws

End Sub

Saat kita menjalankan makro ini, kita akan melihat bahwa Sheet1 dan Sheet4 memiliki nilai 100 di sel A1 .

Namun, Sheet2 dan Sheet3 tidak akan memiliki nilai di sel A1 karena kita menggunakan fungsi Case untuk mengabaikan sheet berikut:

Perhatikan bahwa dalam contoh ini, kita telah memeriksa setiap lembar kerja dan menetapkan nilai sel sama dengan nilai tertentu, hanya demi kesederhanaan.

Namun, Anda dapat menggunakan sintaks serupa dengan pernyataan For Each untuk melakukan tugas yang jauh lebih rumit di setiap lembar jika Anda mau.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

VBA: Cara menghitung jumlah baris dalam jangkauan
VBA: Cara menghitung sel dengan teks tertentu
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *