VBA错误“无法获取WorksheetFunction类的Hex2Dec属性

问题描述 投票:0回答:1

我正在编写一个代码,将某些单元格值从工作簿复制到另一个工作簿。扭曲是在一个工作簿中信息是十六进制的,当我将其复制到另一个工作簿时,我需要转换十进制值。

奇怪的是,一切都运行良好,代码复制,然后添加值,在所需的工作簿中转换;直到它到达最后一行,这就是我得到错误的地方。 (错误显示在添加了注释的行上)

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

我需要提一下,十六进制的一些值是这些(只是为了有一个想法):2397E1017FA3AB38

当前程序给出错误的值是B38

我不明白为什么会发生这种情况,因为代码在该值/最后一行之前运行良好。我不知道哪个是问题。

excel vba excel-vba
1个回答
1
投票

在那之前清洁“细胞”

    wbkA.Worksheets("Sheet2").Cells(i, 5).Value = _
WorksheetFunction.Hex2Dec(Trim(wbkB.Worksheets("CopyFromHere").Cells(rowN + 1, 5).Value))
© www.soinside.com 2019 - 2024. All rights reserved.