perhatikan koding : For W = 1 To Rng.Rows.Countjika nilainya besar maka akan
menimbulkan error saat membuat sheet. Jadi sebaiknya dibatasi , misal 30maka
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 subFor W = 1 To Rng.Rows.Count
.. .. ..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