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: "yusajing_...@yahoo.com" <yusajing_...@yahoo.com>
To: Belajar Excel Grups <belajar-excel@yahoogroups.com> 
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." <mr.nm...@gmail.com> 
Sender:  belajar-excel@yahoogroups.com 
Date: Sat, 23 Jun 2012 19:23:51 +0700
To: <belajar-excel@yahoogroups.com>
ReplyTo:  belajar-excel@yahoogroups.com 
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 <yusajing_...@yahoo.com>

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:
>belajar-excel-subscr...@yahoogroups.com
>
>posting ke milis, kirimkan ke:
>belajar-excel@yahoogroups.com
>
>berkunjung ke web milis
>http://tech.groups.yahoo.com/group/belajar-excel/messages
>
>melihat file archive / mendownload lampiran
>http://www.mail-archive.com/belajar-excel@yahoogroups.com/
>atau (sejak 25-Apr-2011) bisa juga di :
>http://milis-belajar-excel.1048464.n5.nabble.com/
>
>menghubungi moderators & owners: belajar-excel-ow...@yahoogroups.com
>
>keluar dari membership milis (UnSubscribe):
>kirim mail kosong ke  belajar-excel-unsubscr...@yahoogroups.com
>---------------------------------------------------------------------Yahoo! 
>Groups Links
>
>
>
>

 

Kirim email ke