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 ^^* > >