ass.
master atw lainnya ad yg bisa bntu !!! sy punya data (print_area) dibeberapa sheet yg brbeda, dgn mnggunakn list data sy ingin ngeprint brdsarkn sheet yg tampil di list pd sheet1, file terlampir,
sblum dn sesudhnya sy ucpkn terimakasih.
ass.
master atw lainnya ad yg bisa bntu !!! sy punya data (print_area) dibeberapa sheet yg brbeda, dgn mnggunakn list data sy ingin ngeprint brdsarkn sheet yg tampil di list pd sheet1, file terlampir,
sblum dn sesudhnya sy ucpkn terimakasih.
@MUSA ... sy punya data (print_area) dibeberapa sheet yg brbeda, dgn mnggunakn list data sy ingin ngeprint brdsarkn sheet yg tampil di list pd sheet1 ...
[1]. Untuk setiap Worksheet yang diingin dicetak berdasarkan nama sheet yang dipilih, lakukan pengaturan Print Area terlebih dahulu secara manual. Atau bisa juga diotomasi melalui script tertentu jika memang harus ada proses tertentu yang akan dilakukan sebelum mencetak.
[2]. Pada jendela VBE, tambahkan modul standar, kemudian susun script ± berikut:
Option Explicit Public Sub SheetPrintOut() '+-- Periksa variabel nama shet! If Len(Sheet1.[E13]) Then '+-- Apakah termasuk dalam daftar! If InStr(1, "Sheet2|Sheet3|Sheet4", Trim$(Sheet1.[E13])) Then '+-- Lakukan proses pra cetak/cetak! Sheets(Trim$(Sheet1.[E13])).PrintPreview End If End If End Sub
[3]. Assign Macro pada objek shape (atau Button dan sebagainya) pada Sheet1 ke prosedur Sub SheetPrintOut. Contoh di atas akan menampilkan jendela Print Preview. Jika sudah siap untuk digunakan, pada prosedur Sub SheetPrintOut tersebut, ubah baris:
Public Sub SheetPrintOut() ... Sheets(Trim$(Sheet1.[E13])).PrintPreview ... End Sub
menjadi:
Public Sub SheetPrintOut() ... Sheets(Trim$(Sheet1.[E13])).PrintOut ... End Sub
Demikian.
mas @Caton izin nimbrung lagi yak ;)
@MUSA karena contoh kasusnya pake warna, berikut contoh skripnya dengan pengujian pake warna juga
Sub PrintMe() Dim x As String, y As String With Sheets(Sheet1.[E13].Text) .Activate For Each sel In ActiveSheet.UsedRange If sel.Interior.ColorIndex <> 0 Then x = sel.Address Exit For End If Next For Each sel In ActiveSheet.UsedRange If sel.Interior.ColorIndex <> 0 Then y = sel.Address End If Next .PageSetup.PrintArea = x & ":" & y .PrintPreview End With End Sub
oke terimakasih banyak master caton sudah bisa dan berhasil.