Dropdown List Pro-Kab-Kec-Kel

  1. 4 tahun lalu

    Salam,
    Mohon bantuan gimana caranya membuat Dropdown List yang saling terkait mulai dari Provinsi >> Kabupaten >> Kecamatan >> Kelurahan, contoh terlampir, terima kasih
    Salam

  2. Ini mirip2 kasus di diskusi Sub Dropdown

    coba @Aupe tambahkan 1 atau 2 propinsi lagi, saya cuma mau tau apakah ada nama kabupaten yang sama atau tidak

  3. Coba cek lampiran, ada 2 cara tapi semuanya pakai tabel bantuan biar gak berat kalau datanya sampai 34 propinsi

  4. Terima kasih mas @manweljs_ sudah saya coba mantab mas,
    hanya ketika saya coba buat yg baru di file excel saya, ada formula yg tidak bisa, seperti tbData, sedikit bingung mengikuti pola formulanya, hee maklum mas baru sekarang fokus ke excel,
    terima kasih mas, telah membantu terus, saya semakin tertarik dg excel

  5. Maaf mas @manweljs_ sepertinya saya salah case kali ya mas, ada kendala ketika pilihan Provinsi, kab, kec, kel, itu banyak dan memanjang kebabawah mas,, itu giman ya mas,

    row dibawah list pilihannya masih tergantung di pilihan list row awal, terima kasih.

  6. Di sunting 4 tahun lalu oleh manweljs_

    @Aupe ...hanya ketika saya coba buat yg baru di file excel saya, ada formula yg tidak bisa, seperti tbData, sedikit bingung mengikuti pola formulanya...

    cek di name manager

    kalau ada nomor 2 (dua) itu untuk cara 2. dan untuk idxKec & idxKota dihapus aja, awalnya mau pakai itu tapi harus menggunakan array formula yang akan memberatkan proses, jadi saya ganti pakai tabel bantuan.

    @Aupe ...sepertinya saya salah case kali ya mas, ada kendala ketika pilihan Provinsi, kab, kec, kel, itu banyak dan memanjang kebabawah mas,, itu giman ya mas,

    row dibawah list pilihannya masih tergantung di pilihan list row awal, terima kasih.

    sorry saya kurang paham

  7. Terima masih, mas, masih terus dibantu,

    ini contohnya mas @manweljs_

    Terima kasih mas @manweljs_

  8. @Aupe

    itu maksudnya nanti akan ada banyak baris dengan dropdown list?
    jika demikian maka sangat tidak saya sarankan menggunakan formula. terlampir contohnya menggunakan makro, silahkan dipelajari.

    tambahan : kenapa tidak dibuat menjadi user form input saja?

  9. Terima kasih banyak mas, atas bantuannya,

    tidak menggunakn user form input, sementara utk kebutuhan reporting saja mas, dan belum terlalu faham juga cara membuat CRUD-nya, masih cari2 referensi dulu mas @manweljs_, lagi search2 di grup ini.

    sekali lagi terima kasih mas.. bantuannya

  10. Di sunting 4 tahun lalu oleh manweljs_

    Terima kasih banyak mas, atas bantuannya...

    sama-sama :)

    jika @Aupe sudah sudah mulai paham skrip di file tersebut, bisa disederhanakan dengan memanfaatkan Column Number dan membuat range pada skripnya otomatis, contohnya

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ref As Worksheet: Set ref = Sheets("Ref")
    i = Cells(Rows.Count, 2).End(xlUp).Row
    On Error Resume Next
    
    If Not Intersect(Target, Range("C5:C" & i & ", E5:E" & i & ", G5:G" & i)) Is Nothing Then
    c = Target.Column
    r = Target.Row
    
        With Cells(r, c + 2)
            .ClearContents
            .Validation.Delete
            sTarget = Target.Value
            With ref
            n = .Cells(Rows.Count, 1).End(xlUp).Row
            For Each sel In .Range(.Cells(3, c - 1), .Cells(n, c - 1))
                If sel = sTarget Then
                    idx = .Cells(sel.Row, c + 1)
                    If InStr(idxs, idx) = 0 Then
                        If idxs = "" Then
                            idxs = idx & ","
                        Else
                            idxs = idxs & "," & idx
                        End If
                    End If
                End If
            Next
            End With
            .Validation.Add Type:=xlValidateList, Formula1:=idxs
        End With
        
    idxs = ""
    End If
    End Sub

    tujuannya agar @Aupe tidak perlu repot2 merubah range pada skripnya

    rng otomatis.gif

    semoga bermanfaat

  11. Terima kasih mas @manweljs_ belajar sekaligus langsung aplikatif mas,,

    oh ya mas, ada keterkaitan ya, Kolom tulisan Propinsi, harus di copy juga ya mas, terima kasih

  12. @Aupe ada keterkaitan ya, Kolom tulisan Propinsi, harus di copy juga ya mas

    iya, karena nilai i di baris skrip :

    i = Cells(Rows.Count, 2).End(xlUp).Row


    adalah mencari baris terakhir di kolom 2, jika ingin kolom 3 atau yg lain dirubah aja nilai kolomnya

  13. Ok mas, terima kasih, di coba lagi, kemaren di coba masih belum sukses,

    klo pake script yg kedua ini spertinya, bisa ini, hee

  14. Sudah bisa mas, tapi ada kendala, ketika saya proteksi cell range, maka tombol listnya tdk muncul atau tidak jalan, kenapa ya mas @manweljs_

  15. @Aupe

    1. Pastikan semua sel untuk validation list format cell nya TIDAK dalam keadaan locked
    2. edit skripnya menjadi :
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ref As Worksheet: Set ref = Sheets("Ref")
    i = Cells(Rows.Count, 2).End(xlUp).Row
    On Error Resume Next
    
    If Not Intersect(Target, Range("C5:C" & i & ", E5:E" & i & ", G5:G" & i)) Is Nothing Then
    c = Target.Column
    r = Target.Row
    
        With Cells(r, c + 2)
            .ClearContents
            .Validation.Delete
            sTarget = Target.Value
            With ref
            n = .Cells(Rows.Count, 1).End(xlUp).Row
            For Each sel In .Range(.Cells(3, c - 1), .Cells(n, c - 1))
                If sel = sTarget Then
                    idx = .Cells(sel.Row, c + 1)
                    If InStr(idxs, idx) = 0 Then
                        If idxs = "" Then
                            idxs = idx & ","
                        Else
                            idxs = idxs & "," & idx
                        End If
                    End If
                End If
            Next
            End With
            Me.Unprotect '< --- unprotek disini
            .Validation.Add Type:=xlValidateList, Formula1:=idxs
        End With
        
    idxs = ""
    End If
    Me.Protect '<--- protek kembali disini
    End Sub

    jika berhasil harusnya hasilnya seperti ini :
    protekk.gif

  16. Terima kasih mas@manweljs_ di coba mas, terima kasih mas

  17. Sudah di aplikasikan mas @manweljs_ sesuai dengan hasi di atas,

    maaf mas @manweljs_ , kendala saya setelah list sudah terisi samapai kelurahan, saya mau input/isi dengan data2 pada kolom selanjutnya, tapi terprotek, itu bagaimana ya mas, agar tidak terprotek, terima kasih

  18. Di sunting 4 tahun lalu oleh manweljs_

    @Aupe ...kendala saya setelah list sudah terisi samapai kelurahan, saya mau input/isi dengan data2 pada kolom selanjutnya, tapi terprotek...

    sama aja seperti diatas yaitu sel2 yang mau diinput jangan di LOCKED pada format cells - protection.

    kalau mau pakai makro contoh skripnya :

    Range("A1:J1").Locked = False

    kalau mau di lock lagi tinggal dirubah aja False menjadi True. tapi ingat, untuk melakukan perubahan Lock to Unlock sel atau sebaliknya sheet tersebut harus di Unprotect dahulu kemudian di Protect kembali, skripnya jadi kira2 seperti ini :

    ...
    activesheet.unprotect ' di unprotek dulu
    Range("A1:J1").Locked = False 'Lock atau unlock sel nya
    activesheet.protect 'di protek lagi
    ...

  19. Di sunting 4 tahun lalu oleh Aupe

    Duh iya mas @manweljs_ maaf cell-nya masih terprotek hee, buru2 aja tadi.
    terima kasih banyak mas @manweljs_ terima kasih, terima kasih mas

    oh ya mas, kalau mau nambahan ini Application.Calculation = xlCalculationAutomatic di baris mana ya mas, terima kasih

  20. Di sunting 4 tahun lalu oleh manweljs_

    @Aupe ...kalau mau nambahan ini Application.Calculation = xlCalculationAutomatic di baris mana ya...

    tergantung kebutuhan

    biasanya kalkulasi manual di set di awal dan otomatisnya diakhir skrip. namun jika dipertengahan ada perintah yang mengharuskan terjadi kalkulasi maka kalkulasi otomatisnya harus di aktifkan dipertengahan juga.

    contoh sederhana pada 2 skrip berikut

    Sub test1()
    'ini kalkulasi diawal dan akhir
    Application.Calculation = xlCalculationManual
    
    Range("A1") = 0
    Range("B1") = 0
    Range("C1") = "=A1+B1"
    Range("A1") = 5
    Range("B1") = 5
    MsgBox "5 + 5 = " & Range("C1")
    'hasil di msgbox salah karena belum dilakukan kalkulasi untuk penjumlahannya
    
    Application.Calculation = xlCalculationAutomatic
    'hasil di sel C1 benar karena sudah dilakukan proses kalkulasi
    End Sub
    
    
    Sub test2()
    'ini kalkulasi ditengah karena membutuhkan kalkulasi
    Application.Calculation = xlCalculationManual
    
    Range("A1") = 0
    Range("B1") = 0
    Range("C1") = "=A1+B1"
    Range("A1") = 5
    Range("B1") = 5
    Application.Calculation = xlCalculationAutomatic
    'hasil di msgbox benar karena sudah dilakukan proses kalkulasi untuk penjumlahannya
    MsgBox "5 + 5 = " & Range("C1")
    'hasil di sel C1 benar
    End Sub

  21. Newer ›
 

atau Mendaftar untuk ikut berdiskusi!