Terimakasih atas penjelasannya,,
Ya saya sudah mengerti solusinya dan sudah saya perbaiki dan sekarang sudah 
bisa jalan.

Saya ingin melanjutkan pertanyaan, seperti yg terlampir bahwa pada workbook 
tsb, macro akan membuat tabel yg saya inginkan, akan tetapi utk pengaturan 
print agar pas harus saya lakukan sendiri.

Adakah perintah atau coding agar lebar tabel tersebut sebesar lebar kertas 
(landpage) dengan fit 65% dan kertas legal

Cara manual yg saya lakukan biasanya melebar lebarkan kolom sampai menyentuh 
garis pembatas print.

Mohon pencerahannya, 

Best regards,

Sent from my BlackBerry®
powered by Sinyal Kuat INDOSAT

-----Original Message-----
From: "Mr. Kid" <[email protected]>
Sender: [email protected]
Date: Thu, 19 May 2011 05:34:33 
To: <[email protected]>
Reply-To: [email protected]
Subject: Re: [belajar-excel] Error : TypeMismatch

Perbandingan membutuhkan kesamaan datatype, dan sudah dijelaskan mbak Siti.
Karena akan dibandingkan dengan string, coba dikonversi menjadi string lebih
dulu dengan fungsi CStr
misal : CStr(cell(bla).value) = "Ins"

Coba buat penggunaan variabel secara explicit, biar agak mudah membacanya.

Pembatasan jumlah loop sebaiknya dilakukan (biar gak jadi kebiasaan asal
hantam aja semuanya di loop).
Loop pada data yang sedikit, mungkin gak terasa, tetapi tetap ada kegiatan
mubazir yang bisa disedikitkan.

Loop ke semua sheet sudah dijelaskan oleh mbak Siti. Jika ada kriteria nama
sheet atau malah sheet tertentu saja, maka gunakanlah menjadi dasar loop.
Loop dengan for each .. next bisa digunakan untuk hal ini.

Misal :
dim shtLoop as worksheet
for each shtloop in sheets( array( "sheet1" , "sheet2" , "sheet embuh") )
       'kode disini
       shtloop.activate
next shtloop

atau pakai string daftar sheet
dim sSht() as string
dim vSht as variant
ssht() = split( "sheet1,sheet2,sheet embuh", "," )    '-> syaratnya, sheet
harus bener2 ada, kalau tidak, pasang error trap saat akan pakai sheet
tersebut
for each vsht in ssht
       sheets(vsht).activate
next vsht

atau nama sheet punya sesuatu tanda, misal sheet punya teks 'tgl'
dim lSht as long
for lsht=1 to sheets.count
     if instr(sheets(lsht).name, "tgl")<>0 then
           'kode disini
     endif
next lsht

Pada loop object yang lain, sebisa mungkin dibatasi juga, misal pada range
yang ada datanya saja dengan bantuan object usedrange dan sebagainya.

Multi kondisi, bisa memanfaatkan select case agar tidak capek tulis OR bla,
terutama untuk proses yang sama.
Untuk kriteria yang pasti tunggal dan gak mesti berasal dari nilai yang
sama, misal potongan teks yang menjadi syarat, yang pengambilannya gak pasti
dari satu tempat yang sama untuk semua kondisi, if elseif else endif bisa
digunakan.


Regard,
Kid.
2011/5/19 STDEV(i) <[email protected]>

>
>
> Jika makro tsb *bukan* buatan anda sendiri, sebetulnya akan sangat jelas
> terjawab bila anda tanyakan kepada pembuatnya; yg tentu sangat mengenal
> perilaku dan semua sudut yg ada dlm makro tsb.
>
> Tetapi karena tidak ada catatan siapa pembuatnnya, maka saya anggap
> makro itu buatan anda sendiri. (dan anda sudah lupa apa saja yg akan
> dilakukan oleh makro tsb, sehingga ketika terjadi sesuatu anda bingung)
>
> Mengenai munculnya error message  RunTime Error '13'  Type MisMatch:
> *MUNGKIN* karena *Cell(i, u) *saat itu berisi *data BUKAN TYPE TEXT /
> String*
> makanya *ketika mau di test  [ dibandingkan: apakah sama dengan text 'Ins"
> ]*
> VBA nya* harus* bilang kepada anda bahwa telah terjadi *type mismatch, 
> *ketidak
> samaan
> dua type data yg diperbandingkan)
> ( Lha wong  "type error" (?) kok dibandingkan dengan *type Text / String*!
> )
>
> Perlu diketahui bahwa i dan u di makro anda itu adalah counter/pencacah
> loop
> (bilangan yg selalu berubah sesuai batasan loop)
> *i * oleh anda, sebagai pemogramnya,  anda tentukan untuk mewakili index
> baris;
> dan *u*  oleh anda (sebagai pemogramnya)  anda jadikan index kolom,
> Jadi  *Cells(i, u)* bisa saja suatu saat berupa sebuah range / *cell  AS17
>    *
> (atau bahasa vba nya * Cells(17,45)*
>
> Cobalah melihat-lihat pemandangan di cell AS17 di satu-satunya sheet pada
> workbook
> kiriman anda,  berisi apa dan menghasilkan apa?
>
> [image: error name.PNG]
>
> Di komputer saya, formula di cell AS17 menghasilkan error-value #NAME
> karena
> workbook kiriman anda itu seharusnya tidak berdiri sendiri, melainkan
> harus
> didampingi workbook lain yg akan dirujuk suatu range / cellsnya (links)
> Malah sepertinya workbook itu berupa *add-in *
>
> oiya, karena adanya loop  * For sht = 1 To Sheets.Count*
> maka makro itupun mengerjakan hal yg sama terhadap SEMUA SHEET yg ada
> di dalam workbook.  yg artinya antara lain, anda tidak bisa sembarangan
> menambah
> worksheet kalau STRUKTUR dan isinya tidak seperti yg dikehendaki oleh
> makro.
>
> CMIIW
>
>
>
>
> 2011/5/18 Kurei recca <[email protected]>
> >
> > Salam Para Master Excel dan teman2 yang sedang belajar untuk dapat
> mengembangkan
> > dirinya dalam dunia excel,
> >
> > saya ingin bertanya tentang masalah Type Mismatch,,
> > saya mempunyai coding macro sebagai berikut :
> >
> > Public Sub oo()
> >
>
> >   If Cells(i, u) = "Ins" Then
> >   '  bla bla bla
> >   End If
> >
> > end sub
> >
> > kenapa terjadi type mismatch pada coding tersebut?? tetapi bentuk tabel
> yang
> > saya inginkan benar jika sya hentikan proses,,
> > error ini selalu muncul, saya bingung dimana letak kesalahannya.
> > Jika saya hilangkan coding diatas maka error tidak akan muncul,,
> > Mohon pencerahannya,,
> >
> > Berikut saya lampirkan filenya.
> >
> > Best Regards,
> > Ridwan Syarif Hidayat
>
>  
>

Kirim email ke