2017-07-17 129 views
0

我是新的VBA編碼和工作的匹配代碼。代碼工作得很好,當我運行「數據表」中的代碼時(表單中的數據都是我的數據,並且必須找到匹配),但是當我在frontpage上運行代碼時(Sheet 1 with userforms )代碼是debuggen並且說「運行時錯誤13」。有人可以告訴問題是什麼嗎?運行時錯誤13 - 不匹配

有人可以告訴我爲什麼我的「If isError」不起作用嗎?

在此先感謝!

'Find SKU and Test number 
Dim icol As Integer 


Sheet13.Range("XFD2") = UserForm2.ComboBox1.Value 'Sættes = ComboBox1.value 
Sheet13.Range("XFD3") = UserForm2.ComboBox2.Value 'Sættes = ComboBox2.value 



icol = [Sheet13.MATCH(XFD2&XFD3,A:A&Q:Q,0)] 'Match af værdien for vores SKU og test nr 


With ThisWorkbook.Worksheets("Data sheet") 



'If SKU or Test number not found, then messagebox 
If IsError("A:A") Then MsgBox "SKU not found": Exit Sub 
If IsError("Q:Q") Then MsgBox "Test number not found": Exit Sub 


    'Add test result/next step and comment 
    .Cells(icol, 30).Value = Me.ComboBox3.Value 
    .Cells(icol, 30 + 1).Value = Me.Comments_To_Result.Value 



End With 


End If 

Set objFSO = Nothing 
Set openDialog = Nothing 

Range("XFD2").Clear 
Range("XFD3").Clear 
+0

在哪一行你會得到錯誤? – Vityata

+0

對不起。它是: icol = [Sheet13.MATCH(XFD2&XFD3,A:A&Q:Q,0)]'相匹配的版本SKU og test nr – broder123

+0

您聲明'icol'爲'Integer'並返回'[Sheet13 .MATCH(XFD2&XFD3,A:A&Q:Q,0)]'不是一個整數,這就是爲什麼你會得到['Type mismatch(Error 13)'](https://msdn.microsoft.com/en-us /library/aa264979(v=vs.60).aspx) – Tehscript

回答

0

icol應該是這樣的:

icol = Application.match(arg1, arg2, arg3)

參見樣品中MSDN

var = Application.Match(Cells(iRow, 1).Value, Worksheets(iSheet).Columns(1), 0) 

關於If IsError("A:A") Then MsgBox "SKU not found": Exit Sub,你做錯了。我假設你想循環遍歷第一列中的所有單元格,並確定它們中的一個是否爲錯誤。你需要一個循環。這是一個非常簡單的,但你應該在代碼中以某種方式實現它:

Option Explicit 

Public Sub TestMe() 

    Dim rng As Range 

    For Each rng In Range("A:A") 
     If IsError(rng) Then Debug.Print rng.Address 
    Next rng 

End Sub 
+0

如果我使用icol = Application.Match(「XFD2」&「XFD3」,「A:A」和「Q:Q」,0),代碼會調試錯誤13再次在這一行:.Cells(icol,30).Value = Me.ComboBox3.Value – broder123

+0

@ broder123你在你的公式中有大約2個嚴重的錯誤。再次閱讀MSDN鏈接並嘗試複製它。類似這樣的工作:'icol = Application.Match(範圍(「A2」),範圍(「B:B」),0)' – Vityata

+0

你能指出errros嗎?我試圖找到它們,但無法計算出此代碼... – broder123

相關問題