我正在编写一个代码,将某些单元格值从工作簿复制到另一个工作簿。扭曲是在一个工作簿中信息是十六进制的,当我将其复制到另一个工作簿时,我需要转换十进制值。
奇怪的是,一切都运行良好,代码复制,然后添加值,在所需的工作簿中转换;直到它到达最后一行,这就是我得到错误的地方。 (错误显示在添加了注释的行上)
Debug.Print Now
varSheetA = varSheetA.Range(RangeA)
Debug.Print Now
i = 1
For rowN = LBound(varSheetA, 1) To UBound(varSheetA, 1)
Tst = Mid(wbkB.Worksheets("CopyFromHere").Cells(rowN + 1, 2).Value, 3, 6)
Set Rng = wbkA.Worksheets("Sheet1").Range(RangeA).Find(Tst)
If Rng Is Nothing Then
i = i + 1
wbkA.Worksheets("Sheet2").Cells(i, 5).Value = WorksheetFunction.Hex2Dec(wbkB.Worksheets("CopyFromHere").Cells(rowN + 1, 5).Value) 'error is here
End If
Next
我需要提一下,十六进制的一些值是这些(只是为了有一个想法):239
,7E101
,7FA3A
,B38
当前程序给出错误的值是B38
我不明白为什么会发生这种情况,因为代码在该值/最后一行之前运行良好。我不知道哪个是问题。
在那之前清洁“细胞”
wbkA.Worksheets("Sheet2").Cells(i, 5).Value = _
WorksheetFunction.Hex2Dec(Trim(wbkB.Worksheets("CopyFromHere").Cells(rowN + 1, 5).Value))