我有以下代碼,但由於某些原因,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