2017-07-17 111 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

相关问题