terima kasih Miss.Jan dan Pak hendrik juga, atas penjelasannya.... 

dari penjelasan Miss.Jan saya udah ada gambaran mengenai kesalahan di scrip 
yang saya buat dan sudah saya perbaiki sendiri. 

Tapi seteleh saya membaca penjelasan Miss.Jan di bawah, waaaaah ternyata dari 
pemilihan type scrip yg saya buat itu juga udah salah. yang harusnya 
menggunakan Long malah menggunakan Integer . dan masih banyak lagi kesalahan 
dalam pemilihan type dlm scrip yg sya buat, maklum baru belajar VBA hehehe...
terus untuk Option Explicit saya tidak tau menau mengenai menu / srip ini. 
Mohon Miss.Jan atau para master yang lain menjelaskan mengenai scrip / menu 
Option Explicit dan tata letaknya

Shenly ^^*



________________________________
 Dari: Jan Raisin <miss.jan.rai...@gmail.com>
Kepada: belajar-excel@yahoogroups.com 
Dikirim: Jumat, 7 Juni 2013 11:17
Judul: Re: [belajar-excel] koreksi my VBA
 


  
hai Shenly,

coba kirimkan sample filenya untuk diteliti bersama.. lebih mudah melihat 
filenya langsung daripada hanya membayangkannya

dugaan sementara terjadnya error sbb:
1. penulisan nama sheet salah >> sudah disebutkan oleh pak Hendrik
    solusi: perbaiki penulisan nama sheet
2. tombol Input terletak pada sheet yang berbeda
    solusi: coba pindahkan script pada suatu modul lalu panggil modul tersebut 
melalui tombol input yang tadi
3. tipe data tidak sesuai
    solusi: ubah tipe data dengan yang sesuai

saran lain untuk perbaikan, (tidak ada hubungannya dengan pertayaan)
1. gunakan Option Explicit di awal setiap script
2. deklarasikan variabel dengan cara sbb:
    Dim NamaVariabel as TipeData , NamaVariabel2 as TipeData , NamaVariabel3 as 
TipeData
    dibandingkan cara seperti ini
    Dim NamaVariabel , NamaVariabel2 , NamaVariabel3 as TipeData

3. Gunakan tipe data yang sesuai, misal untuk menyimpan nomor baris gunakan 
Long Integer dan bukan Integer
    coba lihat tabel di bawah ini:
 
Data type
Storage size
Range
Byte 1 byte 0 to 255 
Boolean 2 bytes True or False 
Integer 2 bytes -32,768 to 32,767 
Long
(long integer) 4 bytes -2,147,483,648 to 2,147,483,647 
LongLong 
(LongLong integer)  8 bytes  -9,223,372,036,854,775,808 to 
9,223,372,036,854,775,807 (Valid on 64-bit 
platforms only.) 
LongPtr
(Long integer on 32-bit systems, LongLong 
integer on 64-bit systems)  4 bytes on 32-bit systems, 8 bytes on 64-bit 
systems  -2,147,483,648 to 2,147,483,647 on 32-bit systems, 
-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit 
systems 
Single
(single-precision floating-point) 4 bytes -3.402823E38 to -1.401298E-45 for 
negative values; 1.401298E-45 to 
3.402823E38 for positive values 
Double
(double-precision floating-point) 8 bytes -1.79769313486231E308 to
-4.94065645841247E-324 for negative values; 
4.94065645841247E-324 to 1.79769313486232E308 for positive values 
Currency
(scaled integer) 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807 
Decimal 14 bytes +/-79,228,162,514,264,337,593,543,950,335 with no decimal 
point;
+/-7.9228162514264337593543950335 with 28 places to the right of the 
decimal; smallest non-zero number 
is
+/-0.0000000000000000000000000001 
Date 8 bytes January 1, 100 to December 31, 9999 
Object 4 bytes Any Object reference 
String
(variable-length) 10 bytes + string length 0 to approximately 2 billion 
String
(fixed-length) Length of string 1 to approximately 65,400 
Variant
(with numbers) 16 bytes Any numeric value up to the range of a Double 
Variant
(with characters) 22 bytes + string length (24 bytes on 64-bit systems) Same 
range as for variable-length String 
User-defined
(using Type) Number required by elements The range of each element is the same 
as the range of its data type. 

    perhatikan keterangan di atas
    Tipe data Integer dapat menyimpan sampai dengan nilai 32.767
    bandingkan dengan jumlah baris pada Excel di tempat Shenly (tekan CTRL 
panah bawah sampai baris terakhir), apakah mungkin tipe data tersebut mampu 
menyimpan nilai baris yang diambil dengan script Rows.Count?
4. Sebisa mungkin hindari penggunaan tipe data Variant atau variabel yang tidak 
dideklarasikan terlebih dahulu, ini dia gunanya Option Explicit yang tadi 
disebut dinomor 1.
    Kenapa harus dihindari? coba lihat kapasitas penyimpanan yang harus 
disediakan untuk variabel tersebut, pinjam istilah mr Kid kemarin, kalo datanya 
bisa disimpan pakai amplop di dalam saku baju kenapa juga harus bawa-bawa 
kontainer segede gaban untuk menyimpan data.

ditunggu samplenya.. mudah-mudahan malah ketemu sendiri penyebabnya setelah 
membaca dongeng di atas


# sampaikan masalah yang sering anda temui saat menggunakan Excel pada pooling 
berikut 
http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3

Sedikit waktu yang anda luangkan untuk mengisi pooling tersebut sangat berharga 
untuk Be-Exceler yang lain

Wassalam,

-Miss Jan Raisin-

>>> Jangan mengirim pertanyaan melalui japri ke Jan karena tidak akan Jan jawab 
>>> kecuali anda mentransfer ke Jan senilai Rp 1 juta untuk setiap 1 pertanyaan 
>>> yang diajukan;
>>> Untuk kepentingan belajar bersama, pertanyaan ditujukan ke 
>>> belajar-excel@yahoogroups.com;
>>> Jika pertanyaan lama direspon, bersabarlah karena ALLAH beserta dengan 
>>> orang-orang yang sabar QS 2:153;


Pada 6 Juni 2013 14.04, hendrik karnadi <hendrikkarn...@yahoo.com> menulis:

 
>  
>Hi Shenly,
>Penulisan nama sheetnya sudah benar?
>
>
>Salam,
>HK
>
>
>
>________________________________
> From: Shenly Ruchman <shenly_excelma...@yahoo.co.id>
>To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com> 
>Sent: Thursday, 6 June 2013, 10:47
>Subject: [belajar-excel] koreksi my VBA
> 
>
>
>  
>Assalamualakimun Wr.WB
>
>
>haloo para master, kembali sya bertanya, kemarin saya iseng2 membuat form 
>inputan dengan scrip seperti ini
>
>
>
>
>
>
>Private Sub cmdinput_Click()
>
>
>    Dim tanggal, namauser, produk As Integer
>    Dim jumlahdeposit, BarisTerakhir, BarisTujuan As Integer
>    
>    With Worksheets("attainment fist depo")
>        tanggal = .Cells(3, 3).Value
>        namauser = .Cells(4, 3).Value
>        produk = .Cells(5, 3).Value
>        jumlahdeposit = .Cells(6, 3).Value
>        
>        BarisTerakhir = .Cells(.Rows.Count, 1).End(xlUp).Row
>        BarisTujuan = BarisTerakhir + 1
>        .Cells(BarisTujuan, 1).Value = tanggal
>        .Cells(BarisTujuan, 2).Value = namauser
>        .Cells(BarisTujuan, 4).Value = produk
>        .Cells(BarisTujuan, 6).Value = jumlahdeposit
>    End With
>         
>End Sub
>
>
>
>
>
>
>
>
>
>
>tapi ko malah error, tolong master-master berkenan memberi pencarahannya
>
>
>terima kasih
>
>
>Shenly ^^*
>
>

 

Kirim email ke