cba & macro case

  1. tahun lalu

    halo kalo kita sudah macroin buat tambah column nih..
    tapi setiap dijalanin macronya terus, columnya bertambah terus..
    gimana ya kalo buat columnnya cukup 1 kali saja dan engga bertambah" lagi..

    dan untuk refresh pivot setiap data yang masuk dia bisa update secara otomatis didalam pivot maupun chart :) pakai macro/vba apakah ada yang tahu hehehehe

  2. @Petter Jo halo kalo kita sudah macroin buat tambah column nih..
    tapi setiap dijalanin macronya terus, columnya bertambah terus..
    gimana ya kalo buat columnnya cukup 1 kali saja dan engga bertambah" lagi..

    dan untuk refresh pivot setiap data yang masuk dia bisa update secara otomatis didalam pivot maupun chart :) pakai macro/vba apakah ada yang tahu hehehehe

    saya coba jawab satu persatu ya

    -Untuk point pertama ,kita harus mendeteksi kolom yg kosong atau mencari trigger agar tidak ada kolom yg kosong lebih dari 1 . Bisa gunakan kode berikut :

    Sub Insert1Column()
    If Application.WorksheetFunction.CountBlank(Range("A1:G1")) < 1 Then ' misalkan hanya dari column A sampai column G
        Columns("B:B").Select ' yg di insert di column B
        Selection.Insert Shift:=xlToRight 'insert column
    End If
    End Sub


    -Dan untuk point kedua,bisa kita select dari range paling atas(most top header - bukan 1 kolom ya) ke paling bawah sampai habis .
    pivotttt.PNG

  3. Halo gan, kalo di code pakao vba code bisa ga ya?
    Soalnya kalo yg resource saya bisa juga hehehe..
    Maunya pakai vba saya udh coba nih pakai refresh table tpi ga berhasil :(
    Yg point pertama pecah gan karena agan! Mantap.

  4. Di sunting tahun lalu oleh Fujiansyah92

    @Petter Jo Halo gan, kalo di code pakao vba code bisa ga ya?
    Soalnya kalo yg resource saya bisa juga hehehe..
    Maunya pakai vba saya udh coba nih pakai refresh table tpi ga berhasil :(
    Yg point pertama pecah gan karena agan! Mantap.

    hadeuh,ada ada aja yg satu nih. :D
    coba ini

    Private Sub Worksheet_Change(ByVal Target As Range)
    'Credit by fujiansyah achmad
    '<<< Change data source
    lstrow = Sheets("DB").Range("A2:A1048519").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1 ' jika error ,set A1048519 menjadi menjadi A65536 -atau sesuaikan "A" dg kolom nya
        ActiveSheet.PivotTables("PivotTable1").ChangePivotCache ActiveWorkbook. _
            PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "DB!$A$2:$E$" & lstrow, Version:=xlPivotTableVersion14)
    'End Change >>
    
    '<<< Refresh data
    Sheets("Pivot").PivotTables("PivotTable1").PivotCache.Refresh 'ganti "Pivot" - sesuai nama sheet & "PivotTable1" sesuai nama PivotTable yg diinginkan
    'End Refresh >>
    End Sub

    klo pakai code itu ,setiap update di sheet main database,akan otomatis update pivot .

    semoga membantu

  5. Saya coba dlu ya gan, btw gan cek pm yah
    Ada pertanyaan khusus hahaha

  6. ok gan

    waduh...kabur ah... :D :D :D hahaha

 

atau Mendaftar untuk ikut berdiskusi!