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