Mr kid saya coba Workbook yang di lampirkan masih terjadi error di tempat dan 
problem yang sama
para pakar yang lain mohon pencerahannya

Terimakasih
Best Regard
<>.<>.<>.<>.<>.<>.
Sidoel
----- Original Message ----- 
  From: Kid Mr. 
  To: belajar-excel@yahoogroups.com 
  Sent: Monday, December 05, 2011 4:13 PM
  Subject: Re: [belajar-excel] Debug dan restart my workbook


    
  Mumpung sempat kirim workbook, 

  Kid.



  On Mon, Dec 5, 2011 at 16:11, Kid Mr. <mr.nm...@gmail.com> wrote:

    Nama sheet di baris 
    sSht = "SPKL"
    disesuaikan jadi spki atau apa itu yang anda miliki.

    Kid.



    On Mon, Dec 5, 2011 at 16:02, ppc lambda <ppc...@sami.co.id> wrote:

        


      Mr Kid  setelah saya Replace code yang lama dengan yang di buatkan Mr kid
      ternyata masih error pada bagian ThisWorkbook.Sheets(sSht).Copy 
before:=WAdd.Sheets(1)
      mohon bantuannya para pakar Excel

      Terimakasih
      Best Regard
      <>.<>.<>.<>.<>.<>.
      Sidoel
        ----- Original Message ----- 
        From: Kid Mr. 
        To: belajar-excel@yahoogroups.com 
        Sent: Monday, December 05, 2011 3:33 PM
        Subject: Re: [belajar-excel] Debug dan restart my workbook


          
        hehehe...


        ternyata ada attachment yang disusulkan.

        Kira-kira scriptnya demikian : 
        Private Sub Cmb_Generate_Click()
            Dim Rng As Range
            Dim sSht As String
            Dim W As Long, w1 As Long, aw As Long, hal As Long
            Dim lRecPerPage As Long, lTotalPage As Long

            'aw = 0
            'hal = 1
           
            'init object kerja
            Set WAdd = ActiveWorkbook
            Set Rng = WAdd.Sheets(1).Range("b2").CurrentRegion
            w1 = Rng.Rows.Count - 1
            If w1 < 1 Then
                Exit Sub
            End If
            Set Rng = Rng.Offset(1).Resize(w1)
           
            'init konstanta
            sSht = "SPKL"
            lRecPerPage = 30
            lTotalPage = w1 / lRecPerPage
           
            'loop create page
            For W = 0 To w1 - 1 Step lRecPerPage
            'If W Mod 30 = 0 Or w1 = 1 Then

                'ThisWorkbook.Sheets("SPKL").Copy Before:=WAdd.Sheets(1)
               
                hal = hal + 1                   'init page number
               
                'With WAdd
                    'drop existing sheet target
                    'On Error Resume Next
                    'If Not .Sheets(sSht & hal) Is Nothing Then
                    '    Application.DisplayAlerts = False
                    '    .Sheets(sSht & hal).Delete
                    '    Application.DisplayAlerts = True
                    'End If
                    'Err.Clear
                    'On Error GoTo 0
               
                    'create new sheet target
                    ThisWorkbook.Sheets(sSht).Copy before:=WAdd.Sheets(1)
                    Set SAdd = ActiveSheet
                    SAdd.Name = sSht & hal
                'End With
               
                'write page main fields
                With SAdd
                    .Range("i5") = cmb_area.Value
                    .Range("i6") = txt_atasan.Value
                    .Range("C6") = lbl_tgl.Caption
                    .Range("C41") = w1
                    .Range("i60") = hal & " Dari " & lTotalPage
                End With
               
                'init current page record count
                If W + lRecPerPage > w1 Then
                    aw = w1 - W
                Else
                    aw = lRecPerPage
                End If
                'w1 = w1 + 1
                'hal = hal + 1
            'End If
           
                'write data record
                If aw > 0 Then
                    With SAdd.Range("A10").Resize(aw)
                        'nomor urut
                        .Formula = "=row()-9"
                        .Calculate
                        .Value = .Value
                       
                        .Offset(0, 2).Value = Format(txt_scan.Value, "'000000")
                        .Offset(0, 5).Value = Left(txt_jam, 5)
                        .Offset(0, 6).Value = Right(txt_jam, 5)
                    End With
                End If
                'aw = aw + 1
            Next
        End Sub


        Kid.


        On Mon, Dec 5, 2011 at 15:13, Kid Mr. <mr.nm...@gmail.com> wrote:

          Private Sub Cmb_Generate_Click()
              Dim Rng As Range

              Dim sSht As String
              Dim W As Long, w1 As Long, aw As Long, hal As Long
              Dim lRecPerPage As Long, lTotalPage As Long

              'aw = 0
              'hal = 1
              
              'init object kerja
              Set wadd = ActiveWorkbook
              Set Rng = wadd.Sheets(1).Range("b2")
              Set Rng = wadd.Sheets(1).Range(Rng, Rng.End(xlDown))        
'asumsi : tidak mungkin terjadi record berjumlah 0
              
              'init konstanta
              sSht = "SPKL"
              lRecPerPage = 30
              w1 = Rng.Rows.Count
              lTotalPage = w1 / lRecPerPage
              
              'loop create page
              For W = 0 To w1 - 1 Step lRecPerPage
              'If W Mod 30 = 0 Or w1 = 1 Then 

                  'ThisWorkbook.Sheets("SPKL").Copy Before:=WAdd.Sheets(1)
                  

                  hal = hal + 1                   'init page number
                  
                  With wadd
                      'drop existing sheet target
                      On Error Resume Next
                      If Not .Sheets(sSht & hal) Is Nothing Then
                          Application.DisplayAlerts = False
                          .Sheets(sSht & hal).Delete
                          Application.DisplayAlerts = True
                      End If
                      Err.Clear
                      On Error GoTo 0
                  
                      'create new sheet target
                      .Sheets(sSht).Copy after:=.Sheets(1)
                      Set sadd = ActiveSheet
                      sadd.Name = sSht & hal
                  End With
                  
                  'write page main fields
                  With sadd
                      .Range("i5") = cmb_area.Value
                      .Range("i6") = txt_atasan.Value
                      .Range("C6") = lbl_tgl.Caption
                      .Range("C41") = w1
                      .Range("i60") = hal & " Dari " & lTotalPage
                  End With
                  
                  'init current page record count
                  If W + lRecPerPage > w1 Then
                      aw = w1 - W
                  Else
                      aw = lRecPerPage
                  End If
                  'w1 = w1 + 1
                  'hal = hal + 1
              'End If
              
                  'write data record
                  If aw > 0 Then
                      With sadd.Range("A10").Resize(aw)
                          'nomor urut
                          .Formula = "=row()-9"
                          .Calculate
                          .Value = .Value
                          
                          .Offset(0, 2).Value = Format(txt_scan.Value, 
"'000000")
                          .Offset(0, 5).Value = Left(txt_jam, 5)
                          .Offset(0, 6).Value = Right(txt_jam, 5)
                      End With
                  End If
                  'aw = aw + 1
              Next
          End Sub










  

Kirim email ke