Berharap seseorang mungkin memiliki petunjuk jika ada yang bisa saya lakukan untuk mengatasi masalah yang saya alami. Mungkin sulit untuk menambahkan kode yang saya gunakan karena ukurannya yang sangat besar.
Saya punya tabel dengan tanggal kalender di kolom pertama. Semuanya dalam format dd/mm/yyyy. Di VBA saya ingin mencari tanggal dan menemukan nomor baris dalam kalender menggunakan yang berikut ini;
FirstRow = Workbooks(WorkbookSelected.Name).Sheets("Tables").Columns(1).Find(ConfirmedDate, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookAt:=xlWhole).Row
Tanggal yang Dikonfirmasi disimpan sebagai variabel Tanggal, diambil dari kalender juga, namun ada penambahan hari ke dalamnya. Saya mencari di dua buku kerja berbeda untuk menemukan Baris Pertama. Jika kedua buku kerja berada dalam aplikasi/instance excel yang sama maka kode ini berfungsi dengan baik.
Tetapi jika saya membuka buku kerja ke-2 di excel baru, terjadi kesalahan karena tanggal tidak ditemukan. Ada yang terjadi dengan tanggal di aplikasi ke-2. Jika saya menggunakan format(ConfirmedDate, "dd/mm/yyyy")
maka akan menemukannya di buku kerja ke-2. Namun kode itu tidak akan berfungsi di buku kerja aslinya. Kode serupa dengan di atas, tetapi hanya merujuk pada Instance Excel yang perlu diperhatikan. Saya mendapatkan Runtime Error 91 ketika tidak menemukannya.
FirstRow = ExcelInstanceSelected.Workbooks(WorkbookSelected.Name).Sheets("Tables").Columns(1).Find(ConfirmedDate, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookAt:=xlWhole).Row
FirstRow = ExcelInstanceSelected2.Workbooks(2ndWorkbookSelected.Name).Sheets("Tables").Columns(1).Find(ConfirmedDate, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookAt:=xlWhole).Row
Saya mencoba mencari cara untuk menemukan tanggal di kalender, apa pun aplikasi Excel yang saya gunakan. Saya telah mencoba membuka buku kerja dengan set lokal ke true (tidak membantu). Saya telah mencoba kombinasi format, cdate, cdbl, lookin:=xlformulas. Tidak ada yang bisa berfungsi dengan kedua buku kerja.
Ini membuatku gila. Saya hanya dapat berasumsi bahwa .find di buku kerja ke-2 mengubah format Tanggal Konfirmasi yang disimpan ke format AS m/hh/tttt. Saya hanya tidak dapat menemukan cara untuk memastikan kedua tanggal dapat diformat menjadi dd/mm/yyyy tergantung bagaimana tanggal tersebut dimulai.
Terima kasih banyak atas bantuannya.
Cel
Workbooks(WorkbookSelected.Name).Sheets
dan bukan hanyaWorkbookSelected.Sheets
? - person K.Dᴀᴠɪs   schedule 09.02.2020SUM(1+2) = 3
bukannya3 = 3
. Anda tidak perlu menggunakan fungsi (Workbooks()
) untuk mendapatkan objek buku kerja, padahal Anda sudah memiliki objek buku kerja tersebut. - person K.Dᴀᴠɪs   schedule 09.02.20201
=1-Jan-1900
atau1-Jan-1904
. VBA memang memiliki tipe data tanggal dan menemukan tanggal pada lembar kerja excel bisa jadi rumit. Lihatlah Rentang VBA Excel. Temukan Tanggal Itu Rumusnya - person Ron Rosenfeld   schedule 09.02.2020