Wa'alaikumussalam wr wb Mas Nang,
1. sheets*(Index*) bagaimana urutan index? > mengikuti urutan yang ada di tab sheet. > jika user mengubah urutan di tab sheet, maka berubah juga urutan index-nya 2. Kesimpulannya lebih aman menggunakan nomor index atau menggunakan nama Sheet? (dengan asumsi user dapat mengubah urutan sheet maupun mengubah nama sheet) > Tidak ada yang aman. > Andaikan code name di workbook tersebut telah dibuat secara khusus (seperti Dat, ShDp, dan sebagainya), mungkin akan lebih aman jika menggunakan variabel object sheet ataupun collection > misal Code name di workbooks("Lain yang baru saja dibuka oleh VBA.xlsx") adalah ShDp dan Dat, maka bisa dibuatkan variabel shtDP dan shtDAT bertipe worksheet atau variabel array shtDIPAKAI(1 to ) [kalau pakai base 1] atau pakai object Collection Pakai contoh saja ya... Pilih salah satu dari 3 (tiga) cara berikut yang paling mudah dipahami dan nyaman digunakan... Wassalamu'alaikum wr wb Kid 2017-11-27 12:54 GMT+07:00 nangagus nanga...@gmail.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > Mas Kid, > > Asalamualaikum warahmatullah, > > Terima kasih atas penjelasannya, > pada cekrip sheets*(Index*) > bagaimana urutan index? > Misalnya saya punya sheet seperti ini: > > apakah urutan indexnya adalah 1=Dat, 2=Munggah, 3= ShDp, 4= Sheet1, dst. > kalau ada ditambahkan sebuah sheet lagi, urutanya berubah atau tidak? > jika diubah urutannya di excel misalnya tab paling kiri adalah NSk, urutan > index berubah atau tidak? > Kesimpulannya lebih aman menggunakan nomor index atau menggunakan nama > Sheet? > (dengan asumsi user dapat mengubah urutan sheet maupun mengubah nama sheet) > Wasalamualaikum warahmatullahiwabarakatuh. > NangAgus > On 05/12/2017 9:39, 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] wrote: > > > wassalamu'alaikum wr wb > > mas Nang, > > Tidak bisa mas. > code name dipakai untuk wilayah kerja (scope) workbook itu saja. Tidak > bisa diakses dari luar, karena code name di sebuah workbook itu memiliki > scope Private. > > Wassalamu'alaikum wr wb > Kid > > > > > > > > > > > > > > 2017-12-05 6:42 GMT+07:00 nangagus nanga...@gmail.com [belajar-excel] < > belajar-excel@yahoogroups.com>: > >> >> >> Asalamualaikum warahmatullah, >> >> Mas Kid, >> Terima kasih atas penjelasannya. >> >> jika saya akan menggunakan CodeName Sheet, untuk menghapus cell di lain >> workbook, >> bagaimanakah cara penulisan cekripnya? >> >> saya coba gunakan: >> Set wbBs = Workbooks("Book2.xlsm") >> wbBs.Sheets1.Range("A2:A5").ClearContents >> >> menjadi error "Object doesn't support this property or method" >> >> namun apabila diubah menjadi: >> Set wbBs = Workbooks("Book2.xlsm") >> wbBs.Sheets(1).Range("A2:A5").ClearContents >> >> akan berjalan dengan baik. dapatkah code name sheet digunakan? bagaimana >> batasan menggunakan codeNameSheet? >> Terima kasih, >> wasalamualaikum warahmatullah wabarakatuh >> >> Agus >> >> On 03/12/2017 11:42, 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] wrote: >> >> >> hmmm.... >> >> Pak HK dan BeExceller semua... >> >> ActiveWorkbook dan ThisWorkbook itu 2 (dua) object yang berbeda. >> ActiveWorkbook berisi workbook yang sedang aktif >> ThisWorkbook berisi workbook tempat si baris kode berada, alias object >> ThisWorkbook di dalam folder Excel Object di VBProject tempat si baris kode >> ditulis >> >> Contoh : >> Ada workbook 'Book1' hasil new workbook (belum di-save) tapi terbuka di >> Excel Application. >> Kemudian ada workbook 're-DATA.xlsx' (dari file re-Data.xlsx) yang juga >> sedang terbuka di Excel Application yang sama dengan Book1 tadi. >> Ada sebuah prosedur di workbook 're-DATA.xlsx'. Bunyi prosedur tersebut >> beserta tampilan ketika si prosedur dijalankan adalah sebagai berikut : >> >> Ingat ya... >> 1. prosedur itu ada di re-DATA.xlsx, lalu dijalankan >> 2. baris kode Workbooks("Book1").Activate akan membuat workbook Book1 >> menjadi aktif. Jadi, ActiveWorkbook berisi Book1, walaupun prosedur yang >> kerja ada di workbook re-DATA.xlsx >> 3. MsgBox yang muncul menjelaskan semuanya... >> >> Jadi, TIDAK SELALU ThisWorkbook adalah ActiveWorkbook, karena >> ActiveWorkbook dan ThisWorkbook adalah 2 (dua) object yang sejatinya >> berbeda >> walau terkadang mereka merujuk (MERUJUK bukan PERWUJUDAN) ke object >> workbook yang sama dan sedang aktif. >> Contoh prosedur di atas adalah bukti bahwa workbook yang aktif >> (ActiveWorkbook) tidak selalu merujuk ke workbook yang sama dengan >> ThisWorkbook. >> >> Regards, >> Kid >> >> >> >> >> >> >> On Sun, Dec 3, 2017 at 9:25 AM, hendrik karnadi hendrikkarn...@yahoo.com >> [belajar-excel] <belajar-excel@yahoogroups.com> wrote: >> >>> >>> >>> Sebelum Mr. Kid turun gunung, saya coba menjawab dari uraian mas Nang. >>> >>> Kesalahannya kayaknya disini >>> set wb = ThisWorkbook >>> Sel aktif kan masih ada di Workbook ThisWorkbook. >>> >>> Jadi ga mungkin wb dipakai untuk menunjuk ke workbook lain. >>> >>> Salam, >>> HK >>> >>> >>> Sent from Yahoo Mail on Android >>> <https://overview.mail.yahoo.com/mobile/?.src=Android> >>> >>> On Sun, Dec 3, 2017 at 7:49, nangagus nanga...@gmail.com [belajar-excel] >>> <belajar-excel@yahoogroups.com> wrote: >>> >>> >>> Asalamualaikum warahmatullah. >>> >>> 1. Saya membuat cekrip sederhana untuk menghapus cell. >>> sheet1.Range("A1:A3).ClearContents >>> >>> cekrip tersebut dapat berjalan dengan baik. >>> >>> namun setelah saya tambahkan: >>> set wb = ThisWorkbook >>> wb.sheet1.Range("A1:A3).ClearContents >>> >>> terdapat eror, dimanakah kesalahannya? karena cekrip akan digunakan >>> untuk menghapus cell di workbook lain. >>> >>> 2. Masih dalam cekrip yangsama: >>> Workbooks("book1.xlsx").Sheets("Sheet1").Range("A1:A3").ClearContents >>> >>> dapat berjalan dengan baik pada office 2010 namun tidak dapat dilakukan >>> di office 2013, bagaimana cara perbaikannya? >>> >>> Terima kasih >>> >>> Wasalamualaikum warahmatullah >>> >>> KenangAgus >>> >>> >> >> > > >