MS Project Macro VBA


0

Menulis makro di MS Project yang membaca nilai dari Excel. Makro harus menghitung terjadinya string tertentu di kolom lembar kerja Excel. Saya menggunakan kode berikut:

Set objXL = CreateObject("Excel.Application")
Set objWB = objXL.Workbooks.Open("D:\VBA\Design\" + FileName + ".xls")
Set ObjWS = objWB.Worksheets(1)   

ObjWS.Activate

Dim lastRow As Integer   
lastRow = ObjWS.Range("A" & ObjWS.Rows.Count).End(xlUp).row

Dim iVal As Double    
iVal = WorksheetFunction.CountIf(ObjWS.Range("A1:A" & lastRow), "Resource:" & "*")

Masalah: Ketika saya menjalankan kode untuk pertama kalinya saya dapatkan

Jalankan kesalahan waktu 13 Ketik ketidakcocokan

dimana iVal dinyatakan. Tetapi setelah menghentikan eksekusi dan memulai kembali kesalahan ini tidak muncul.

Solusi yang sudah dicoba: Mengubah nilai tipe pengembalian ke Integer, Long, dll. Namun kesalahan tetap ada.

Adakah yang bisa membantu saya melacak masalah ini dan menemukan solusinya?


Silahkan sunting pertanyaan dan sertakan kode lengkap.
DavidPostill

Jawaban:


2

Itu dokumentasi menyarankan bahwa tugas Anda sebelum itu ( lastRow = ObjWS.Range("A" & ObjWS.Rows.Count).End(xlUp).row ) bisa jadi masalahnya.

Anda menyatakan lastRow sebagai Integer tetapi dokumentasi menyatakan itu .Row untuk sebuah Range akan menjadi panjang hanya baca. Ini tidak menjelaskan mengapa ini berhasil untuk kedua kalinya tetapi mungkin itu masalahnya.


Saya mencoba solusinya dengan mengubah lastRow ke Long, tetapi masalahnya masih berlanjut. Saya kira masalahnya ada pada pernyataan dekat saya:
samve

Pernyataan dekat saya adalah:
samve

objWB.Tutup savechanges: = Salah
samve

Entah bagaimana ketika saya menjalankan kode saya terlebih dahulu kode berfungsi dengan baik dan pernyataan di atas juga dieksekusi. Tetapi ketika saya menjalankan kode lagi (saya menemukan bahwa excel masih berjalan di jendela 'task manager') kesalahan muncul sebagai jenis kesalahan ketidakcocokan 13. dan ketiga kalinya saya menjalankan kode yang sama saya menemukan file terkunci. Bagaimana cara saya benar-benar menutup atau keluar dari file excel.
samve

Harap perbarui pertanyaan dengan informasi tambahan ini dan tambahkan pernyataan penutupan aktual (dan mungkin kode lainnya) juga. Jika aplikasi excel Anda masih berjalan, masuk akal untuk melihat proses excel di task manager Anda. Saat Anda menggunakan variabel untuk nama file, apakah Anda membuka satu file atau beberapa file? Bagaimana Anda menyebutnya?
Seth
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.