我有以下代码,但由于某些原因,msgbox krow
似乎不起作用。有一场比赛,但它只是显示错误。我不明白为什么。帮助表示赞赏,谢谢!试图使用变量时MsgBox错误
Sub addsheet()
Dim lrow As Variant, krow As Variant
Dim i As Long, lastcol As Long, lastrow As Long, lastrowcomp As Long
Dim sheetname As String, sheetname2 As String
Sheets("Main Sheet").Activate
lastcol = Cells(2, Columns.Count).End(xlToLeft).Column
lrow = Application.Match(Sheets("Main Sheet").Range("F6").Value, Sheets("Main Sheet").Range(Cells(2, 14), Cells(2, lastcol)), 0)
If IsError(lrow) Then
MsgBox "Please Select a value under change"
ElseIf lrow > 0 Then
lastrow = Sheets("Main Sheet").Cells(Rows.Count, lrow + 13).End(xlUp).Row
lastrowcomp = Sheets("Comparison Check").Range("A" & Rows.Count).End(xlUp).Row
For i = 3 To lastrow
krow = Application.Match(Sheets("Main Sheet").Cells(i, lrow).Value, Sheets("Comparison Check").Range("A3:A" & lastrowcomp), 0)
MsgBox krow
'If IsError(krow) Then
'sheetname = Sheets("Main Sheet").Cells(i, lrow + 13).Value
'Worksheets.Add(After:=Worksheets(1)).Name = sheetname
'ThisWorkbook.Sheets("Sheet1").UsedRange.Copy
'ThisWorkbook.Sheets(sheetname).Select
'ThisWorkbook.Sheets(sheetname).Range("A1").Select
'ThisWorkbook.Sheets(sheetname).Paste
'ThisWorkbook.Sheets(sheetname).Cells.Interior.ColorIndex = 2
'Else
If krow > 0 Then
sheetname2 = Sheets("Comparison Check").Cells(krow, 1).Value
Sheets(sheetname2).Activate
End If
Next i
End If
End Sub
基本上,我想如果没有匹配,创建一个名为新的工作表,然后转到现有薄片如果匹配存在。但是当有一场比赛时,它会以某种方式不断创建一张新纸张。因此,为什么我添加msgbox krow来确认问题是否与匹配有关。
抛出的错误是什么? – RGA
错误不匹配。 – Vigmo10
它是一种类型不匹配? – RGA