我正在使用以下代码来识别电子表格中最后填充的行以及后面的第一个空行,并使用此信息我找出用空白行填充第一个单元格的内容(PC 1,PC 2 ,PC 3等)。当我尝试运行它时,我一直收到“类型不匹配”错误,但我不确定我需要更改什么来修复它。下面是相关代码,我在上面添加了一个注释调试器停止的行。
'Creates variable for the next empty row and for PC #.
Dim lastRow As Long
Dim emptyRow As Long
Dim NewPC As Long
'Determines last row.
lastRow = Range("A65536").End(xlUp).Row
'Determines empty row.
emptyRow = Range("A65536").End(xlUp).Row + 1
'Determines PC entry value <--- DEBUGGER STOPS ON FOLLOWING LINE OF CODE.
NewPC = CInt(Right(Cells(lastRow, 1).Value, Len(Cells(lastRow, 1).Value) - InStrRev(Cells(lastRow, 1).Value, " "))) + 1
'Makes PC Data Sheet active.
Sheet1.Activate
'Enters PC # data into first column.
Cells(emptyRow, 1).Value = "PC" & " " & NewPC
知道了!这是改变的行:
'Determines PC entry value
If lastRow = 1 Then
NewPC = 1
Else
NewPC = Right(Cells(lastRow, 1).Value, Len(Cells(lastRow, 1).Value) - InStrRev(Cells(lastRow, 1).Value, " ")) + 1
End If
答案 0 :(得分:1)
您确定Cells(lastRow, 1).Value
中的实际内容可以解释为String
吗?如果是错误,则对它进行字符串操作无效。
答案 1 :(得分:0)
看起来你也得到了这个空间。怎么样:
NewPC = CInt(Mid(Cells(lastRow, 1).Value, InStrRev(Cells(lastRow, 1).Value, " ")))