請問用VB開啟EXCEL做搜尋一直出現"未設定物件變數或WITH變數"
請問是那裏出錯了!
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim L_OPseq As String
Dim L_Priorit As String
Dim L_PN As String
Dim L_Description As String
Dim L_Brand As String
Dim L_BrandPN As String
Set xlApp = CreateObject("excel.application")
Set xlbook = xlApp.Workbooks.Open(filename)
Set xlsheet = xlbook.Worksheets(1)
''開啟檔案設定
Windows(P).Activate
With xlsheet ''開啟檔案
DoEvents
'進行搜尋動作
Cells.Find(What:=fox_PN, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Select
Selection.End(xlToLeft).Select
L_OPseq = ActiveCell.Offset(0, 0).Range("A1")
L_Priorit = ActiveCell.Offset(0, 0).Range("D1")
L_PN = ActiveCell.Offset(0, 0).Range("B1")
L_Description = ActiveCell.Offset(0, 0).Range("C1")
L_Brand = ActiveCell.Offset(0, 0).Range("E1")
L_BrandPN = ActiveCell.Offset(0, 0).Range("F1")
List2.AddItem L_OPseq & "_" & L_Priorit & "_" & L_PN & "_" & L_Description & "_" & L_Brand & "_" & L_BrandPN
End With
請問是那裏出錯了!
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim L_OPseq As String
Dim L_Priorit As String
Dim L_PN As String
Dim L_Description As String
Dim L_Brand As String
Dim L_BrandPN As String
Set xlApp = CreateObject("excel.application")
Set xlbook = xlApp.Workbooks.Open(filename)
Set xlsheet = xlbook.Worksheets(1)
''開啟檔案設定
Windows(P).Activate
With xlsheet ''開啟檔案
DoEvents
'進行搜尋動作
Cells.Find(What:=fox_PN, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
ActiveCell.Select
Selection.End(xlToLeft).Select
L_OPseq = ActiveCell.Offset(0, 0).Range("A1")
L_Priorit = ActiveCell.Offset(0, 0).Range("D1")
L_PN = ActiveCell.Offset(0, 0).Range("B1")
L_Description = ActiveCell.Offset(0, 0).Range("C1")
L_Brand = ActiveCell.Offset(0, 0).Range("E1")
L_BrandPN = ActiveCell.Offset(0, 0).Range("F1")
List2.AddItem L_OPseq & "_" & L_Priorit & "_" & L_PN & "_" & L_Description & "_" & L_Brand & "_" & L_BrandPN
End With
文章標籤
全站熱搜

VB 不支援指名變數
謝謝你的回覆!^_^,但是我還是不了耶,什麼是指名變數?
What:=fox_PN 應該寫成 "指名引數"
謝謝你!我再試看看.
在 Excel VBA 中找該行完整引數順序 省略部份用逗號隔開 指名引數是說,指定名稱引數 比如說 Function Test(A, B) 使用時,只給 B時,可以用 summy = Test(B:=5678) 或是 A, B 順序倒過來 summy = Test(B:=5678, A:=1234) 正確用法應該是 summy = Test(1234, 5678) VB6 只支援最後一種,VBA/VBScript 兩種方法都支援,所以直接拷貝 VBA語法時,碰上這種情形必須修改。