terimakasih pak jkssxls data yang di ambil sangat fleksibel, terkadang 
100,40,15, dst
kira-2 bagai mana solusi nya  yaa. ??? mohon bantuannya
saya pernah mencoba, dengan coding seperti itu (For W = 1 To Rng.Rows.Count)
namun datanya hanya 3 baris hasilnya masih saja error
suatu ketika error bisa tersorot pada bagian 
(ThisWorkbook.Sheets("SPKL").Copy Before:=WAdd.Sheets(1))
 tak lama kemudian permintaan restart Excel muncul

Terimakasih
Best Regard
<>.<>.<>.<>.<>.<>.
sidoel
  ----- Original Message ----- 
  From: jkssxls Sudarsono 
  To: Belajar-Excel Yahoo Groups 
  Sent: Monday, December 05, 2011 11:48 AM
  Subject: RE: [belajar-excel] Debug dan restart my workbook


    


   perhatikan koding :
   For W = 1 To Rng.Rows.Count
  jika nilainya besar maka akan menimbulkan error saat membuat sheet. Jadi 
sebaiknya dibatasi , misal 30
  maka sebelumnya di tambahkan koding cek , sehingga kodingnya menjadi :
   
                ..
                ..
  Set WAdd = ActiveWorkbook
  Set Rng = WAdd.Sheets(1).Range("b2")
  Set Rng = WAdd.Sheets(1).Range(Rng, Rng.End(xlDown))

  if Rng.Rows.Count > 30 then exit sub
  For W = 1 To Rng.Rows.Count

                   ..
                   ..
       & nbsp;           ..

------------------------------------------------------------------------------
  To: [email protected]
  From: [email protected]
  Date: Mon, 5 Dec 2011 10:32:02 +0700
  Subject: Re: [belajar-excel] Debug dan restart my workbook

    
  ma'af baru masuk kerja dan lihat email sehabis weekend,
  maksud dari dari kode nya 
  W Mod 30 = 0 jika nilai W tidak mempunyai (=0) hasil bagi dari 30/ kelipatan 
30 (30,60,90...) 
  Or w1 = 1 atau pertama di jalankan maka
   lakukan proses copy sheet dari thisworkbook sheet ("SPKL") ke book Wadd ( 
ThisWorkbook.Sheets("SPKL").Copy Before:=WAdd.Sheets(1))
  kemudian sheet tersebut yang di aktifkan ( Set SAdd = ActiveSheet) dan 
mengganti nama sheet SPKL tersebut menjadi SPKL1 (..2,3,4 dst)

  mohon pencerahan dari master dan temen-2 belajar excel


  Terimakasih
  Best Regard
  <>.<>.<>.<>.<>.<>.
  sidoel
  ----- Original Message ----- 
    From: jkssxls Sudarsono 
    To: Belajar-Excel Yahoo Groups 
    Sent: Friday, December 02, 2011 3:44 PM
    Subject: RE: [belajar-excel] Debug dan restart my workbook


      
    ==This message was identified as spam.==
    Coba terangkan maksud dan tujuan kode vba apa ya ?Kalau di perhatikan :
    1. Tambahkan sebuah sheet jika :
    a. W Mod 30 = 0 --> jika nilai w adalah kelipatan 30 ( 30,60 , .... ) atau 
    b. w1 = 1 --> pd saat awal dijalankan ( nilai w1 = 1 ) berarti dijalankan2. 
Perulangan tergantung dari jumlah data ( Rng.rows.count ) Jadi bisa kah 
diperjelas ?

    ------------------------------
    To: [email protected]
    From: [email protected]
    Date: Fri, 2 Dec 2011 09:27:27 +0700
    Subject: [belajar-excel] Debug dan restart my workbook

    Pagi para pakar & All member mohon bantuan lagi nich
    saya membuat aplikasi sederhana, ketika di jalankan terjadi Debug dan 
    langsung meminta restart excel 
    coding
    mohon koreksinya

    Private Sub Cmb_Generate_Click()
    Dim Rng As Range, W 
    As Long, w1 As Long, aw As Long, hal As Long
    w1 = 1
    aw = 0
    hal = 1
    Set WAdd = ActiveWorkbook
    Set Rng = WAdd.Sheets(1).Range("b2")
    Set Rng = WAdd.Sheets(1).Range(Rng, Rng.End(xlDown))

    For W = 1 To Rng.Rows.Count
    If W Mod 30 = 0 Or w1 = 1 Then
    ThisWorkbook.Sheets("SPKL").Copy Before:=WAdd.Sheets(1)
    Set SAdd = ActiveSheet
    SAdd.Name = "SPKL" & hal
    WAdd.Sheets(SAdd.Name).Range("i5") = cmb_area.Value
    WAdd.Sheets(SAdd.Name).Range("i6") = txt_atasan.Value
    WAdd.Sheets(SAdd.Name).Range("C6") = lbl_tgl.Caption
    WAdd.Sheets(SAdd.Name).Range("C41") = Rng.Rows.Count
    WAdd.Sheets(SAdd.Name).Range("i60") = (WorksheetFunction.Ceiling(W, 29) / 
29) _
    & " Dari " & (WorksheetFunction.Ceiling(Rng.Rows.Count, 29) / 29)
    w1 = w1 + 1
    aw = 1
    hal = hal + 1
    End If
    With 
    WAdd.Sheets(SAdd.Name).Range("A10")
    .Cells(aw, 1) = W
    .Cells(aw, 3) = Format(txt_scan.Value, "'000000")
    .Cells(aw, 6) = Left(txt_jam, 5)
    .Cells(aw, 7) = Right(txt_jam, 5)
    End With
    aw = aw + 1
    Next

    End Sub

    Terimakasih
    Best 
    Regard
    Sidoel








  

Kirim email ke