Hai Prazt,

Cara ke-2 berikut bisa dikembangkan untuk membuat cara 1.
>> Pada sebuah module, tuangkan script sebuah prosedur berikut :
Public Sub Repotnya_ngePrint()
    Dim sShtName As String, sSht() As String
    Dim sUser As String
    Dim vShtName As Variant
    Dim rng As Range

    sUser = Sheet1.Range("s25").Value           'get user's value

    'set nama sheet yang pasti di print, atau ada peraturan lain, atur aja
    sShtName = "gabung|kembar"

    If InStr(sUser, "_2") <> 0 Then             'cek pilihan _2
        If WorksheetFunction.CountIf(Sheet3.Range("d:d"), "<>0") > 0
Then       'data_2 ada angka selain 0
            sShtName = "data_2|olah_2a|olah_2b|" &
sShtName                     'daftar nama-nama sheetnya
        Else
            sShtName = "olah_2a|olah_2b|" &
sShtName                            'nama-nama sheet _2 tanpa data_2
        End If
    End If

    If InStr(sUser, "_1") <> 0 Then             'cek pilihan _1
        If WorksheetFunction.CountIf(Sheet2.Range("d:d"), "<>0") > 0
Then       'data_1 ada angka selain 0
            sShtName = "data_1|olah_1a|olah_1b|" &
sShtName                     'daftar nama-nama sheetnya
        Else
            sShtName = "olah_1a|olah_1b|" &
sShtName                            'nama-nama sheet _1 tanpa data_1
        End If
    End If

    sSht() = Split(sShtName, "|")                                   'buat
array nama-nama sheet
    For Each vShtName In sSht                                       'loop
setiap nama sheet (bukan setiap sheet)
        With Sheets(vShtName)                                       'di
sheet yang namanya sedang diproses loop
            'tentukan area data yang akan diprint berdasar kata 'nilai'
            Set rng = .UsedRange.Find("nilai").CurrentRegion
            If Not rng Is Nothing Then                              'cek
ada atau tidak areanya
                .PageSetup.PrintArea = rng.Address                  'set
print area
                .PrintOut                                           'kirim
ke printer
            End If                                                  'akhit
blok cek keberadaan area data
        End With
'selesai kerja si sheet tersebut
    Next vShtName                                                   'nama
sheet berikutnya
End Sub

>> Kemudian set si button (*bukan bottom ya*) agar menjalankan prosedur
tersebut.

Konsep :
Membuat teks berisi daftar nama-nama sheet yang akan diprint, yang
dipisahkan oleh sebuah karakter pemisah (delimiter).
Dari teks inilah akan didapat array nama sheet yang akan di-print.

Wassalam,
Kid.

2012/10/10 Prazt Math <[email protected]>

> **
>
>
> Dear exceller...****
>
> Mohonbantuannya dengan permasalahan yang menyandung langkah saya seperti
> pada file terlampir****
>
> (permasalahan / pertanyaan ada di file lampiran)****
>
> Terimakasih atas segala bantuan beserta ilmunya...****
>
>  
>
>

Kirim email ke