我正在运行一个简单的代码,但是我遇到了类型不匹配错误。
代码如下
For i = 2 To rightcomp
matchC = Application.Match(Worksheets(2).Cells(1, i), Worksheets(3).Rows(1), 0)
MsgBox matchC
For jur = 2 To downlastcomp
matchr = Application.Match(Worksheets(2).Cells(jur, 1), Worksheets(3).Columns(temp), 0)
Worksheets(2).Cells(jur, i).Value = Worksheets(3).Cells(matchr, matchC).Value
Next jur
Next i
最初我在下面一行中犯了一个错误:
matchr = Application.Match(Worksheets(2).Cells(jur, 1), Worksheets(3).Columns(temp), 0)
Intstead of
.Cells(jur, 1)
我有
.Cells(i, 1)
代码有效,但填写的值不正确。当我更正代码,从而将i更改为jur时,代码正确地填充了第一列,但是我得到了第二列的错误。有什么想法吗?
增加:
我有两张来自不同来源的纸张。我添加了一个新工作表并协调了列和行。如果列和行都在两张纸上,我会在第三张纸上打印它们。
然后我使用上面的代码填写第三张表中的其余数据。因此,不能找到数据。
此外,使用下面的内容,MsgBox一直被正确调用,但是如果我将下面的内容更改为jur,则只调用一次MsgBox和第一行。
.Cells(i, 1)
matchC中的值是字符串,matchR中的值是数字和字符串。
另外,如果注释掉下面的代码,则代码不会导致类型不匹配错误。
Worksheets(2).Cells(jur, i).Value = Worksheets(3).Cells(matchR, matchC).Value