Find cell dengan macro VBA

  1. 6 tahun lalu

    Hallo para pakar2 excel, saya mau bertanya. Bagaimana caranya mencari cell secara cepat dan otomatis. Maksudnya begini, misalnya saya punya sebuah cell di sheet 1 sebagai acuan katakanlah cell B5, sementara di sheet 2 saya punya data tabel tertentu. Yg saya tanyakan bagaimana kode macronya jika saya akan mencari cell dalam sheet 2 yang memuat value seperti pada cell B5 di sheet 1 tersebut. Jadi tujuan saya adalah ketika perintah macro saya jalankan otomatis cursor langsung berpindah pada sheet 2 yang mengandung value sama dengan cell B5 pada Sheet 1. Mohon penjelasan. Terima kasih..

    @Tri Mahardika

    mungkin begini :

    Sub tes()
    Dim rng As Range, sel As Range
    Set rng = Sheet2.[B4:B1003]
    
    For Each sel In rng
        If sel = "" Then
          sheet2.activate
          sel.Select
          Exit Sub
        End If
    Next
    End Sub
    

  2. Caton

    11 Agu 2018 Terverifikasi Indonesia + 20.101 Poin

    Mas @Tri Mahardika ...

    Setahu saya ada beberapa cara yang bisa dilakukan. Bisa dengan:

    [1]. Menggunakan fungsi FIND dari objek Range;
    [2]. Menggunakan fungsi MATCH dari objek WorksheetFunction (atau objek Application);
    [3]. Menggunakan proses pencarian per sel dari range data yang dicari.
    [4]. Menggunakan Regex (Regular Expression) dari objek Microsoft VBScript Regular Expressions.

    Terlampir contoh pencarian data dengan cara 1, 2 dan 3.

    Demikian, semoga sesuai dan semoga bermanfaat.

  3. ikutan ya mas @Caton

    Sub SearchMetodeD()
    Dim Target As Variant, x As Range
    
    Target = Sheet1.[B5]
    With Sheet2
    Set x = .Cells.Find(Target)
            .Activate
            .Range(x.Address).Select
    End With
    
    End Sub

  4. SUdah saya coba kok muncul error seperti ini ya, mohon penjelasan

  5. Caton

    11 Agu 2018 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 6 tahun lalu oleh Caton

    Mas @Tri Mahardika ...

    .. Sudah saya coba kok muncul error seperti ini ya, mohon penjelasan ...

    Sudah coba file yang saya berikan?! Apakah ada masalah? Jika tidak, kesalahan ada pada script yang mas gunakan. Penjelasan Error-nya? Saya bahkan tidak tahu pada baris apa error tersebut terjadi. Kalau bisa, lampirkan saja filenya.

    Update: Atau ubah nama Sub Go() menjadi Sub GoFind (mungkin karena GO merupakan keyword VBA mas, jadi gak bisa digunakan untuk nama prosedur...)

    @manweljs_ ... ikutan ya mas @Caton ...

    Silahkan mas @manweljs_ ... :)

  6. @Caton Silahkan mas @manweljs_...

    makasih mas, lumayan buat nambah2 point :P :D

  7. Makasih banyak mas, udah berhasil pake yang metode C, kalian luar biasa. Mgkn lain waktu saya bakal nanya2 lagi. Maklum masih sangat pemula di excel. Sekali lg makasih banyak.

  8. Mau nanya lagi mas, bagaimana kalo hampir sama kaya yg tadi tapi ini untuk menuju ke sheet 2 cell teratas yg kosong, di sini saya butuh dari range b4:b1003 di sheet 2. Syntax yg tadi apanya yg diganti. Makasih.

  9. manweljs_

    11 Agu 2018 Terverifikasi Jawaban Terpilih + 11.321 Poin
    Di sunting 6 tahun lalu oleh manweljs_

    @Tri Mahardika

    mungkin begini :

    Sub tes()
    Dim rng As Range, sel As Range
    Set rng = Sheet2.[B4:B1003]
    
    For Each sel In rng
        If sel = "" Then
          sheet2.activate
          sel.Select
          Exit Sub
        End If
    Next
    End Sub
    

  10. Terima kasih mas @manweljs_

 

atau Mendaftar untuk ikut berdiskusi!