Sambil menunngu Mr. Kid, barangkali code ini bisa membantu:Sub tesSimpan()
On Error GoTo Pesan
DirSimpan = InputBox("Masukkan Dir\SubDir\ Anda", "DIREKTORI - AKHIRI
dengan TANDA \")
If Right(DirSimpan, 1) <> "\" Then GoTo Pesan
ActiveWorkbook.SaveAs DirSimpan & ActiveWorkbook.Name
Exit Sub
Pesan:
MsgBox "DIREKTORY " & DirSimpan & " TIDAK BENAR", vbCritical, "PESAN
KESALAHAN"
End Sub
Selamat mencoba.
Salam,
Hendrik Karnadi
________________________________
From: "[email protected]" <[email protected]>
To: Belajar Excel Grups <[email protected]>
Sent: Saturday, 23 June 2012, 21:48
Subject: Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
Wow, excelence Mr. Kid,
Thank you very much,
But I have one more question Mr.Kid..
Saya membuat coding macro utk menyimpan seperti berikut :
Activeworkbook.Save
Dan dengan coding seperti ini macro akan langsung save di mydocument. Kondisi
yang diinginkan adalah seperti halnya ketika kita men-save workbook akan
memilih lokasi penyimpanan dngn memunculkan suatu exploredialog.
Ini agar user dapat memilih lokasi penyimpanannya sendiri.
Bagaimana ya ?
Mohon Pencerahannya..
Powered by Telkomsel BlackBerry®
________________________________
From: "Kid Mr." <[email protected]>
Sender: [email protected]
Date: Sat, 23 Jun 2012 19:23:51 +0700
To: <[email protected]>
ReplyTo: [email protected]
Subject: Re: [belajar-excel] Multiple CopySheets dengan VBA Macro
Coba simak dongeng dalam prosedur berikut :
Public Sub CobaSusunArrayNamaSheet()
Dim sht As Worksheet
Dim sShtName() As String
Dim lShtIdx As Long
Dim lCalc As Long
lCalc = Application.Calculation 'simpan setting kalkulasi
excel yang sedang digunakan
Application.Calculation = xlCalculationManual 'contoh set
kalkulasi excel dalam mode manual
ReDim sShtName(1 To Sheets.Count) As String
'dengan loop per object sheet memanfaatkan for each
lShtIdx = 0
For Each sht In ThisWorkbook.Worksheets
lShtIdx = lShtIdx + 1
sShtName(lShtIdx) = sht.Name 'masukkan nama sheet ke array
shtname
'sht.Copy 'copy sheet yang sedang diproses (silakan
tentukan kemana akan di-paste)
Next sht
'tes multiple select semua sheet, ganti select dengan copy jika akan copy
langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet untuk
menyusun array nama sheet
Sheets(sShtName()).Select
'contoh pemakaian methods calculate
Application.Calculate 'perintahkan excel untuk
mengkalkulasi aplikasi
Sheets(1).Calculate 'perintahkan untuk kalkulasi sheet
dengan index 1 saja
Sheets(1).Range("a2:g78,k34:m34").Calculate 'perintahkan untuk kalkulasi
range tertentu di sheet berindex 1
'kembali ke array sheet
'susun array nama sheet dengan loop per object sheet memanfaatkan for
terhadap index sheet
For lShtIdx = 1 To Sheets.Count
sShtName(lShtIdx) = Sheets(lShtIdx).Name 'masukkan nama sheet ke
array shtname
'sht.Copy 'copy sheet yang sedang diproses (silakan
tentukan kemana akan di-paste)
Next lShtIdx
'tes multiple select semua sheet, ganti select dengan copy jika akan copy
langsung semua sheet dalam array
'meskipun sebenarnya copy sheet bisa dilakukan saat loop semua sheet untuk
menyusun array nama sheet
Sheets(sShtName()).Select
Application.Calculation = xlCalculationAutomatic 'pasksa mode
kalkulasi excel jadi automatic
'kayanya lebih enak dikembalikan ke selera user saat sebelum proses ini
dijalankan
'jadi kembalikan mode kalkulasi ke mode yang disimpan dalam variabel lcalc
tadi
Application.Calculation = lCalc
End Sub
Wassalam,
Kid.
2012/6/23 <[email protected]>
Dear All Pakar Excel,
>
>Saya sedang membuat coding macro, akan tetapi saya menemukan kesulitan ketika
>harus meng copy lebih dari 1 sheet secara bersamaan. Ketika saya rekam macro
>hasilnya keluar seperti berikut :
>
>Sheets(array("Sheet1","Sheet2","Sheet3")).copy
>
>Masalahnya adalah jumlah sheets yg ingin saya copy jumlah dan namanya tidak
>tetap akan tetapi indexnya yang sama yaitu sheets dengan index 5 sampai sheets
>terakhir. Saya coba dengan menggunakan index dngn coding sebagai berikut
>
>Sheets(array(1,2,3)).copy
>
>Ternyata bisa jika diganti index.
>Jd saya buat codingnya seperti berikut :
>
>For x=5 to sheets.count
>
>Array ????
>
>Next
>
>Sheets(array???).copy
>
>End sub
>
>Pertanyaan saya adalah, bagaimana membuat arraynya agar flexibel ?
>
>Mohon pencerahannya.
>
>Terimakasih
>
>Best regards
>Powered by Telkomsel BlackBerry®
>
>------------------------------------
>
>---------------------------------------------------------------------
>bergabung ke milis (subscribe), kirim mail kosong ke:
>[email protected]
>
>posting ke milis, kirimkan ke:
>[email protected]
>
>berkunjung ke web milis
>http://tech.groups.yahoo.com/group/belajar-excel/messages
>
>melihat file archive / mendownload lampiran
>http://www.mail-archive.com/[email protected]/
>atau (sejak 25-Apr-2011) bisa juga di :
>http://milis-belajar-excel.1048464.n5.nabble.com/
>
>menghubungi moderators & owners: [email protected]
>
>keluar dari membership milis (UnSubscribe):
>kirim mail kosong ke [email protected]
>---------------------------------------------------------------------Yahoo!
>Groups Links
>
>
>
>