print preview 2 range dlm 1 sheet

  1. 2 bulan yang lalu

    ass master dn yg lainnya,
    dr kode vba berikut :

    Public Sub Print_Preview()
    If Len(Sheet1.[H1]) Then
    If InStr(1, "Sheet4|Sheet5|Sheet7", Trim$(Sheet1.[H1])) Then
    Sheets(Trim$(Sheet1.[H1])).PrintPreview
    End If
    End If
    End Sub

    kebetulan di Sheet4 tersebut memiliki 2 range yakni data1(print_area) dan data2(print_area) bgaimana pnulisan dlm kode trsebut, tlong bantu ya, terimakasih ...

  2. Caton

    Sep 20 Terverifikasi Indonesia + 12.602 Poin
    Di sunting 2 bulan yang lalu oleh Caton

    @MUSA ... di Sheet4 tersebut memiliki 2 range yakni data1(print_area) dan data2(print_area) bgaimana pnulisan dlm kode trsebut ..

    Contoh scriptnya:

    If Len(Sheet1.[H1]) Then
        If InStr(1, "Sheet4|Sheet5|Sheet7", Trim$(Sheet1.[H1])) Then
            If Trim$(Sheet1.[H1]) = "Sheet4" Then
                Sheets(Trim$(Sheet1.[H1])).Range("A2:D18, F2:I18").PrintPreview
            Else
                Sheets(Trim$(Sheet1.[H1])).PrintPreview
            End If
        End If
    End If

    dimana notasi "A2:D18, F2:I18" merupakan target range yang akan dicetak. Perhatikan, range cetak yang tidak kontinyu biasanya akan membentuk halaman cetak berbeda. Pada contoh notasi "A2:D18, F2:I18", maka akan ada 2 halaman cetak.

    Selain itu, jika Print Area sudah ditentukan secara manual, maka biasanya pada Name Manager tertera nama range Print_Area yang lingkupnya adalah lokal ke masing-masing Worksheet dan dapat digunakan sebagai rujukan, contoh:

    If Len(Sheet1.[H1]) Then
        If InStr(1, "Sheet4|Sheet5|Sheet7", Trim$(Sheet1.[H1])) Then
            On Error Resume Next
            Sheets(Trim$(Sheet1.[E13])).Range("Print_Area").PrintPreview
        End If
    End If

    Catatan: Mohon diskusi yang satu lagi dihapus saja. Isinya sama khan dengan diskusi ini?

    Demikian.

  3. maaf mas @caton ya, td sudh saya coba tp krn msih pmula jd agk ksulitn, ini file sy lmpirkan, dr file ini sy ingin print salah satu dari 2 range yg ada di sheet2 melalui list yg ada di sheet1 terus saya juga ingin mencetak halaman yg dipilih yg ad disheet3 dari hal.x sampai hal.y misalnya juga melalui list yg ad disheet1, sy minta tlong bntuannya ...

  4. Caton

    Sep 21 Terverifikasi Indonesia + 12.602 Poin

    @MUSA ... dr file ini sy ingin print salah satu dari 2 range yg ada di sheet2 melalui list yg ada di sheet1 terus saya juga ingin mencetak halaman yg dipilih yg ad disheet3 dari hal.x sampai hal.y misalnya juga melalui list yg ad disheet1 ...

    Terlampir contohnya untuk dipelajari ... :)

  5. Di sunting 2 bulan yang lalu oleh MUSA

    oke, terimakasih mas @caton..., td sy coba print preview dan mnemui sdikit kndala :
    sbg pmula sy kurng pham kode utk melengkapi nya, yg pertama mas ya: ktika menekn tmbl printpreview itu trjd 2 kali eksekusi utk sheet2 dg hsil yg sama, kedua : utk sheet3 dr cr yg prtama printpreview mnghasilkn hny page1, dn yg tk kalh pnting bgaimn memfungsikn bg. mulai hlmn cetak, sampai hlm. dan copy (utk sheet3) ... mnta bimbingnnya ....

  6. 9 minggu lalu

    Caton

    Sep 22 Terverifikasi Indonesia + 12.602 Poin

    @MUSA ... ktika menekn tmbl printpreview itu trjd 2 kali eksekusi utk sheet2 dg hsil yg sama ...

    Sebenarnya bukan Sheet2 di Print Preview 2 kali, namun yang terjadi adalah proses Print Preview untuk Sheet2 lalu Print Preview untuk Sheet3. Kalau yang dibaca komentar pada script, memang salah karena saya lupa mengubah komentar tersebut. Coba perhatikan scriptnya:

    Private Sub CetakPilihan(Mode As Long)
    ...
       sAddr = WorksheetFunction.Index(Split("A1:H43|I1:O43|P1:W43", "|"), lIdx)
       If Mode = 1 Then
          Sheet3.Range(sAddr).PrintPreview
       Else
          Sheet3.Range(sAddr).PrintOut
       End If
    ...
    End Sub

    itu objeknya khan Sheet3. Sengaja proses kedua sheet saya gabungkan, agar nantinya mas @musa bisa mengatur sendiri sesuai kebutuhan. Asalkan paham proses dari script tersebut ... :|

    @MUSA ... utk sheet3 dr cr yg prtama printpreview mnghasilkn hny page1 ...

    Coba pelajari kembali scriptnya. Jika pilihan pada Sheet1 = PENELITIAN 2, itu artinya akan mencetak halaman 2 pada Sheet3 yang berada dalam range I1:O43, bukan hanya bisa mencetak halaman 1 saja. Sebenarnya, saya bingung dengan maksud mas @musa ini:

    ... terus saya juga ingin mencetak halaman yg dipilih yg ad disheet3 dari hal.x sampai hal.y misalnya juga melalui list yg ad disheet1 ...

    Jika ingin Sheet3 bisa dicetak berdasarkan halaman x sampai halaman y, lalu untuk apa menggunakan pilihan pada sel C4? Apa ada pilihan lainnya di Sheet1 yang tidak saya ketahui? Jika ingin dapat mencetak dari halaman 1 sampai 2, atau halaman 2 sampai 3 dan sebagainya, maka contoh script yang saya sampaikan memang tidak tepat, karena contoh script tersebut disusun berdasarkan ketentuan pilihan pada sel C4 Sheet1.

    Saya tidak terlalu paham bagaimana alur proses yang mas @musa inginkan. Sebenarnya, ada beberapa hal yang ingin saya konfirmasikan, namun karena masih ada yang harus saya kerjakan, untuk sementara waktu mas @musa bisa mencoba file terlampir dahulu. Silahkan dipelajari. Jika memungkinkan, coba dimodifikasi dan dikembangkan.

    Demikian.

  7. o o maaf mas @Caton ya pertanyaan saya itu ambigu, utk sheet3 itu tidak harus berisi PENELITIAN1&2 bisa apapun, itu sy buat hny utk mngisi hlmn sheet3, bukn gbungan dr 2 range di sheet2 ( nggak ada hubungannya dgn isi sheet2), dn pd list juga bisa disesuaikan dg isi sheet3, mklum mas krn msih bru, tp dr hl ini jg pljrn bwt sy bgaimn mencetk atw mmproses data di 2sheet sekaligus dlm 1 proses.trimakasih...
    terus mas @Caton ya jika pd list sheet1[C4] kita mengeksekusi data di sheet2 sprt file yg sdh trlmpir yg mngharuskn mmilih 1 diantara bbrp rnge data (PENELITIAN1 atw PENELITIAN2 ) utk macro " mulai dn sampai " scr otomatis mnjd nggak brfungsi hnya copy yg brfungsi tpi ktika brhubungn dgn sheet3 yg mmiliki sekian bnyk halamn baik itu macro " mulai, sampai dan copy " otomatis semuanya dapat kita fungsikan. bgaimn caranya. trimaksih, mdh2an mas @Caton dlm keadaan sehat slalu dn dimurhkn rezekinya dn skli lg mnta bimbingnnya...

  8. Caton

    Sep 22 Terverifikasi Indonesia + 12.602 Poin

    Jadi begini mas @Musa ...

    Pada file yang saya lampirkan terakhir di atas:

    — sheet TES A, adalah contoh bagaimana membuat proses dinamis mencetak range tertentu pada Sheet2 berdasarkan pilihan sel C4 Sheet1.

    — sheet TES B, adalah contoh bagaimana membuat proses dinamis mencetak range tertentu pada Sheet3 berdasarkan rentang halaman sel F4 dan sel F5 Sheet1.

    — sheet TES C, adalah contoh bagaimana membuat proses dinamis mencetak range tertentu pada Sheet3 berdasarkan pilihan pada sel C4 Sheet1 dan rentang halaman sel F4 dan sel F5 Sheet1.

    Dari contoh tersebut, seharusnya sudah dimungkinkan untuk menyusun script VBA sebagaimana yang diinginkan. Tinggal ambil beberapa baris script kemudian satukan. Tapi okelah. Saya coba luruskan dahulu persepsi dari apa yang mas @Musa inginkan:

    @MUSA ... jika pd list sheet1[C4] kita mengeksekusi data di sheet2 sprt file yg sdh trlmpir yg mngharuskn mmilih 1 diantara bbrp rnge data (PENELITIAN1 atw PENELITIAN2 ) utk macro " mulai dn sampai " scr otomatis mnjd nggak brfungsi hnya copy ...

    Ini sudah saya contohkan menggunakan tombol SHEET 2 - A pada Sheet1. Prosedur terkait adalah Sub PraCetakA (untuk pra cetak), Sub CetakA (untuk cetak) dan Sub CetakPilihanA (prosedur intinya). Jika ingin menambahkan lembar salinan, contohnya scriptnya ada pada prosedur Sub CetakPilihanB, contohnya ± sebagai berikut:

    ...
    lCopies = Val(Sheet1.[F6])
    Sheet2.PrintOut  IIf(lCopies = 0, 1, lCopies)
    ...

    Lihat pada prosedur Sub CetakPilihanA.

    @MUSA ... ktika brhubungn dgn sheet3 yg mmiliki sekian bnyk halamn baik itu macro " mulai, sampai dan copy " otomatis semuanya dapat kita fungsikan ...

    Ini juga sudah saya contohkan pada file lampiran saya di atas. Agar (mungkin) lebih sesuai, pada lampiran saya kali ini, saya contohkan melalui tombol SHEET 6 - D, ini merujuk kep sheet TES D, melalui prosedur Sub CetakPilihanD.

    Demikian.

  9. oke, terimakasih bnyk mas @caton besok sy pljri, cuma ini mau tnya ktika kita me rename sheet1 excel misalnya menjd Data terus di vbe nya kan tampil mnjd Sheet1(Data) bgaimn crnya supaya mnjd shData(Data).terimakasih....

  10. Caton

    Sep 22 Terverifikasi Indonesia + 12.602 Poin

    @MUSA ... bgaimn crnya supaya mnjd shData(Data) ...

    Pada jendela properti, pilih dan ubah properti (Name). Dalam VBA, properti ini dinamakan CodeName. Yang kita lihat pada tab, itu properti Name (tanpa tanda kurung), atau disebut juga sebagai tab name.

    Capture002.png

    Demikian.

  11. 8 minggu lalu

    ok, terimakasih mas @Caton ...

  12. ass.
    mas @Caton bisa saya mnta tolong bgaimana cr mnggabungkan 2 sheet kode vba dibawah :
    utk pilihan list ada diSheet1.[G2]

    Option Explicit
    Private Const PILIHANCETAK As String = "KERTAS LABEL1|KERTAS LABEL2|DATA BUKU"
    Public Sub Pracetak()
    Call CetakPilihan(1)
    End Sub

    Public Sub Cetak()
    Call CetakPilihan(2)
    End Sub

    untuk sheet3 :
    'KERTAS LABEL1 & KERTAS LABEL2
    If Len(Sheet1.[G2]) Then
    sItem = UCase$(Sheet1.[G2])
    If InStr(1, PILIHANCETAK, sItem) Then
    lIdx = WorksheetFunction.Match(sItem, Split(PILIHANCETAK, "|"), 0)
    If lIdx < 3 Then
    sAddr = WorksheetFunction.Index(Split("A1:J34|L1:U34", "|"), lIdx)
    If Mode = 1 Then
    Sheet3.Range(sAddr).PrintPreview
    Else
    lCopies = Val(Sheet1.[H3])
    Sheet3.Range(sAddr).PrintOut Copies:=IIf(lCopies = 0, 0, lCopies)
    End If
    End If
    End If
    End If

    untuk sheet4
    'DATA BUKU
    Private Sub CetakPilihan(Mode As Long)
    Dim sItem As String, sAddr As String, sTemp As String
    Dim lIdx As Long, lX As Long, lRow As Long, lPages As Long
    Dim lFrIdx As Long, lToIdx As Long, lCopies As Long
    Dim bValid As Boolean, bAllPages As Boolean

    bAllPages = False
    If Len(Sheet1.[J3]) * Len(Sheet1.[J4]) Then
    bValid = True
    bValid = bValid And (IsNumeric(Sheet1.[J3]) And IsNumeric(Sheet1.[J4]))
    If Not bValid Then
    MsgBox "Nilai Rentang Halaman Tidak Valid!", vbCritical Or vbOKOnly
    Exit Sub
    Else
    lFrIdx = Val(Sheet1.[J3])
    lToIdx = Val(Sheet1.[J4])
    lCopies = Val(Sheet1.[H3])
    If (lFrIdx = 0 Or lToIdx = 0) Then
    MsgBox "Rentang Halaman Harus Lebih Besar dari 0!", vbExclamation Or vbOKOnly
    Exit Sub
    End If
    End If
    Else
    bAllPages = True
    End If

    Worksheets("Sheet4").PageSetup.PrintArea = "A1:P1048576"
    lRow = Sheet4.Cells(1048576, "B").End(xlUp).Row
    lRow = WorksheetFunction.RoundUp(lRow / 45, 0) * 45
    If lRow < 3 Then
    MsgBox "Tidak Ada Data Yang Akan Dicetak!", vbExclamation Or vbOKOnly
    Exit Sub
    End If

    lPages = lRow / 45
    sAddr = "B1:P" & lRow
    Sheet4.PageSetup.PrintArea = Sheet4.Range(sAddr).Address
    Sheet4.ResetAllPageBreaks
    For lX = 1 To lPages
    sItem = "B" & (lX * 45 + 1)
    Sheet4.HPageBreaks.Add Sheet4.Range(sItem)
    Next
    If Not bAllPages Then
    If Len(Sheet1.[J3]) * Len(Sheet1.[J4]) Then
    bValid = True
    bValid = bValid And (lFrIdx <= lToIdx)
    bValid = bValid And (lToIdx <= lPages)
    bValid = bValid And (lToIdx - lFrIdx + 1 <= lPages)
    If Not bValid Then
    MsgBox "Halaman Akhir Harus lebih besar dari halaman pertama, atau" & vbCrLf & _
    "Nomor Halaman Jangan Melebihi Jumlah Halaman!", vbExclamation Or vbOKOnly
    Exit Sub
    Else
    sAddr = vbNullString
    sAddr = sAddr & Replace$("B#", "#", (lFrIdx - 1) * 45 + 1) & ":"
    sAddr = sAddr & Replace$("P#", "#", lToIdx * 45)
    End If
    End If
    End If
    If Mode = 1 Then
    Sheet4.Range(sAddr).PrintPreview
    Else
    lCopies = IIf(lCopies = 0, 1, lCopies)
    Sheet4.PrintOut lFrIdx, lToIdx, lCopies, False
    End If
    End Sub

  13. Caton

    Sep 25 Terverifikasi Indonesia + 12.602 Poin

    @MUSA ... bgaimana cr mnggabungkan 2 sheet kode vba dibawah utk pilihan list ada diSheet1.[G2] ...

    [1]. Asumsikan, ada 2 tombol (Button Form Control) pada Sheet1, masing-masing untuk Pra Cetak dan Cetak. Pertama, beri nama setiap tombol masing-masing btnPraCetak untuk tombol Pra Cetak dan btnCetak untuk tombol Cetak. Untuk mengubah nama tombol secara cepat, gunakan kotak Name Box di sebelah Formula Bar.

    image0022.png

    [2]. Kemudian, copy dan paste script berikut ke modul standar:

    Option Explicit
    
    Private Const PILIHANCETAK As String = "KERTAS LABEL1|KERTAS LABEL2|DATA BUKU"
    
    Public Sub CetakLabelDanData()
        Dim bCetakLabel As Boolean
        Dim sCaller As String
        Dim lMode As Long
        
        On Error Resume Next
        
        sCaller = Application.Caller
        If Err.Number Then
            Err.Clear: On Error GoTo 0
        Else
            If InStr(1, "btnCetak|btnPraCetak", sCaller) Then
                lMode = IIf(sCaller = "btnPraCetak", 1, 2)
                If sCaller = "btnCetak" Then
                    bCetakLabel = MsgBox("Untuk mencetak data buku , klik tombol YES." & vbCrLf & _
                        "Untuk mencetak label buku, klik tombol NO.", _
                        vbInformation Or vbYesNo, "Cetak") = vbYes
                Else
                    bCetakLabel = MsgBox("Untuk pra cetak data buku , klik tombol YES." & vbCrLf & _
                        "Untuk pra cetak label buku, klik tombol NO.", _
                        vbInformation Or vbYesNo, "Pra Cetak") = vbNo
                End If
                Call CetakPilihan(bCetakLabel, lMode)
            End If
        End If
    End Sub
    
    Private Sub CetakPilihan(CetakLabel As Boolean, Mode As Long)
        Dim sItem As String, sAddr As String, sTemp As String
        Dim lIdx As Long, lX As Long, lRow As Long, lPages As Long
        Dim lFrIdx As Long, lToIdx As Long, lCopies As Long
        Dim bValid As Boolean, bAllPages As Boolean
        
        If CetakLabel Then
            '+-- Untuk Sheet3: KERTAS LABEL1 & KERTAS LABEL2
            If Len(Sheet1.[G2]) Then
                sItem = UCase$(Sheet1.[G2])
                If InStr(1, PILIHANCETAK, sItem) Then
                    lIdx = WorksheetFunction.Match(sItem, Split(PILIHANCETAK, "|"), 0)
                    If lIdx < 3 Then
                        sAddr = WorksheetFunction.Index(Split("A1:J34|L1:U34", "|"), lIdx)
                        If Mode = 1 Then
                            Sheet3.Range(sAddr).PrintPreview
                        Else
                            lCopies = Val(Sheet1.[H3])
                            Sheet3.Range(sAddr).PrintOut Copies:=IIf(lCopies = 0, 0, lCopies)
                        End If
                    End If
                End If
            End If
        Else
            '+-- untuk Sheet4: DATA BUKU
            bAllPages = False
            If Len(Sheet1.[J3]) * Len(Sheet1.[J4]) Then
                bValid = True
                bValid = bValid And (IsNumeric(Sheet1.[J3]) And IsNumeric(Sheet1.[J4]))
                If Not bValid Then
                    MsgBox "Nilai Rentang Halaman Tidak Valid!", vbCritical Or vbOKOnly
                    Exit Sub
                Else
                    lFrIdx = Val(Sheet1.[J3])
                    lToIdx = Val(Sheet1.[J4])
                    lCopies = Val(Sheet1.[H3])
                    If (lFrIdx = 0 Or lToIdx = 0) Then
                        MsgBox "Rentang Halaman Harus Lebih Besar dari 0!", vbExclamation Or vbOKOnly
                        Exit Sub
                    End If
                End If
            Else
                bAllPages = True
            End If
    
            Worksheets("Sheet4").PageSetup.PrintArea = "A1:P1048576"
            lRow = Sheet4.Cells(1048576, "B").End(xlUp).Row
            lRow = WorksheetFunction.RoundUp(lRow / 45, 0) * 45
            If lRow < 3 Then
                MsgBox "Tidak Ada Data Yang Akan Dicetak!", vbExclamation Or vbOKOnly
                Exit Sub
            End If
            
            lPages = lRow / 45
            sAddr = "B1:P" & lRow
            Sheet4.PageSetup.PrintArea = Sheet4.Range(sAddr).Address
            Sheet4.ResetAllPageBreaks
            For lX = 1 To lPages
                sItem = "B" & (lX * 45 + 1)
                Sheet4.HPageBreaks.Add Sheet4.Range(sItem)
            Next
            If Not bAllPages Then
                If Len(Sheet1.[J3]) * Len(Sheet1.[J4]) Then
                    bValid = True
                    bValid = bValid And (lFrIdx <= lToIdx)
                    bValid = bValid And (lToIdx <= lPages)
                    bValid = bValid And (lToIdx - lFrIdx + 1 <= lPages)
                    If Not bValid Then
                        MsgBox "Halaman Akhir Harus lebih besar dari halaman pertama, atau" & vbCrLf & _
                        "Nomor Halaman Jangan Melebihi Jumlah Halaman!", vbExclamation Or vbOKOnly
                        Exit Sub
                    Else
                        sAddr = vbNullString
                        sAddr = sAddr & Replace$("B#", "#", (lFrIdx - 1) * 45 + 1) & ":"
                        sAddr = sAddr & Replace$("P#", "#", lToIdx * 45)
                    End If
                End If
            End If
            
            If Mode = 1 Then
                Sheet4.Range(sAddr).PrintPreview
            Else
                lCopies = IIf(lCopies = 0, 1, lCopies)
                Sheet4.PrintOut lFrIdx, lToIdx, lCopies, False
            End If
        End If
    End Sub

    [3]. Assign kedua tombol ke prosedur Sub CetakLabelDanData. Kedua tombol merujuk ke prosedur yang sama, namun proses aktualnya nanti akan ditentukan oleh nama masing-masing tombol. Konfirmasi antara Label Buku dan Data Buku ditentukan melalui jendela pesan (Message Box). Kalau ingin bentuk lain, bisa menggunakan UserForm dengan pilihan Label Buku dan Data Buku (untuk yang ini, coba dikreasikan sendiri dahulu).

    [4]. Tes script tersebut dengan menekan salah satu tombol.

    Demikian, selamat mencoba.

  14. ok, terimakasih mas @Caton sy coba dhulu ...

  15. 7 minggu lalu
    Di sunting 7 minggu lalu oleh MUSA

    ass.
    mas@caton ini kode vba yg saya buat utk mncetk daftar list yg ad di combobox.
    Option Explicit
    Private Const SHEETCETAK As String = "Sheet3|Sheet4|Sheet7|Sheet9|Sheet10"
    Public Sub Preview_CetakmyFile()
    Call OpsiCetak(1)
    End Sub

    Public Sub CetakmyFile()
    Call OpsiCetak(2)
    End Sub

    Private Sub OpsiCetak(Mode As Long)
    Dim sItem As String, sAddr As String, sTemp As String
    Dim lIdx As Long, lX As Long, lRow As Long, lPages As Long
    Dim lFrIdx As Long, lToIdx As Long, lCopies As Long
    Dim bValid As Boolean, bAllPages As Boolean

    bAllPages = False
    If Len(Sheet1.[J2]) * Len(Sheet1.[J4]) Then
    bValid = True
    bValid = bValid And (IsNumeric(Sheet1.[J2]) And IsNumeric(Sheet1.[J4]))
    If Not bValid Then
    MsgBox "Proses Cetak Tidak Dapat Dilakukan, Silahkan Periksa Halaman Pada Cell J2 or J4!", vbCritical, vbOKOnly
    Exit Sub
    Else
    lFrIdx = Val(Sheet1.[J2])
    lToIdx = Val(Sheet1.[J4])
    lCopies = Val(Sheet1.[J6])
    If (lFrIdx = 0 Or lToIdx = 0) Then
    MsgBox "Silahkan Periksa cell Dari atau Sampai, Nilai Cell Harus Lebih Dari Nol!", vbExclamation Or vbOKOnly
    Exit Sub
    End If
    End If
    Else
    bAllPages = True
    End If
    If Len(Sheet.[L6]) Then
    sItem = UCase$(Sheet1.[L6])
    If InStr(1, SHEETCETAK, sItem) Then
    lIdx = WorksheetFunction.Match(sItem, Split(SHEETCETAK, "|"), 0)
    If lIdx < 3 Then
    sAddr = WorksheetFunction.Index(Split("A1:J34|L36:V69", "|"), lIdx)
    If Mode = 1 Then
    Sheet3.Range(sAddr).PrintPreview
    Else
    lCopies = Val(Sheet1.[J6])
    Sheet3.Range(sAddr).PrintOut Copies:=IIf(lCopies = 0, 0, lCopies)
    End If
    End If
    End If
    End If
    ......
    End Sub

    pada tahap ini mas@caton :
    1.Sheet3 dan Sheet9 itu sama-sama memiliki 2 optionbutton , bagaimana cara menulis kode biar
    agak simpel namun sheet3 ada prhatian khusus bahwa mencetak tidak boleh lebih dari
    satu(copynya harus 1) krn brhubungn dg label "untuk mnghindari ksalahan kelbihan dlm mencetak".
    Kebalikan Sheet9 ini rangkap cetak nya dapat lebih dari satu karena berhubungan dgn kartu biar
    agak hemat waktu.namun masing2 tdk mmilik halaman.
    2. maaf ya mas@caton saya meminta waktunya sedikit krn sy ingin bljr ilmunya dr mas secara brtahap
    sampai kode cetak ini selesai , acuan sheet dr kode ini pada sheet4 memiliki halamn namun
    sistem pncetakan default aja(tnpa ada pmbagian 1 halaman brp baris). tp utk mnghindari kesalahn dlm
    pencetakan jumlh rangkap(copy) tdk melebihi satu.mklum mas krn halamn nya itu banyak. utk sheet
    7
    cuma 1 halamn rangkap dpt >1, sheet 10 memiliki 2 halamn rangkap dpt>1. "Sheet4,sheet7,
    sheet10 nggk mmiliki optionbutton". acuan cell : mulai halaman .[J2] sampai .[J4], copy .[J6], cell acuan
    cetak .[L6]
    3. Kesulitan pada Cell acuan cetak :
    Private Const SHEETCETAK As String = "Sheet3|Sheet4|Sheet7|Sheet9|Sheet10"
    pada List ComboBox = KERTAS LABEL - DATA BUKU PERPUSTAKAAN - FORMULIR ANGGOTA
    PERPUSTAKAAN - SERAH TERIMA BUKU - KARTU BUKU , "pilihan pd List ComboBox = Cell acuan cetak"
    jika menggunakan rumus formula IF pada Cell L7 bersumber pada cell L6 :
    =IF(L6="DATA BUKU PERPUSTAKAAN";"Sheet4";IF(L6="FORMULIR ANGGOTA
    PERPUSTAKAAN";"Sheet7" ... IF(L6=FALSE;"";""))))))
    terus bagaimana dengan KERTAS LABEL (sheet3)
    yang memiliki 2 pilihan dan jika merubah pada kode vba Private Const SHEETCETAK As String =
    "KERTAS LABEL|DATA BUKU PERPUSTAKAAN|FORMULIR ANGGOTA PERPUSTAKAAN|SERAH TERIMA
    BUKU|KARTU BUKU"
    harus bagaimana, terimakasih

  16. 6 minggu lalu

    Caton

    Okt 7 Terverifikasi Indonesia + 12.602 Poin

    @MUSA ...

    [1]. Maaf ya mas @Musa ... Jujur, saya bingung dengan pertanyaan yang diajukan. Masalah yang mas tanyakan sepertinya selalu berubah-ubah, tidak konsisten pertanyaan sebelumnya dengan pertanyaan selanjutnya. Pertanyaan mas @Musa di atas sebenarnya tidak relevan dengan diskusi ini. Pertanyaan tersebut lebih tepat jika masuk ke dalam diskusi Tampilan Data Berdasarkan ComboBox yang sudah saya jawab namun tidak ada respon. Saya sudah berikan contohnya pada diskusi tersebut ...

    [2]. Kemudian, penjelasan dan pertanyaan yang mas @Musa di atas agak sulit saya pahami. Saran saya, jika ingin menyisipkan script berupa formula atau kode VBA, gunakanlah tag CODE:

    tag-code.png

    dan sebaiknya, lampirkan saja contoh file yang sedang dikerjakan agar lebih mudah untuk diperiksa, dipelajari dan dipahami.

    Jadi, tolong pindahkan atau buat pertanyaan yang mas @Musa ajukan di atas ke dalam diskusi Tampilan Data Berdasarkan ComboBox. Dan tolong bantu saya dengan pertanyaan yang jelas dan tersusun agar mudah saya pahami. InsyaAllah saya coba bantu semampu saya.

    Demikian.

 

atau Mendaftar untuk ikut berdiskusi!