excel值调试器和实际单元格值中的不同值(实际值增加一倍)

时间:2016-04-09 04:43:47

标签: excel vba function csv

以下是在csv文件的其中一个单元格中设置我的函数的代码。当我检查调试器时,它正确显示我的变量值为2886,但当变量实际在单元格中解析时,它显示值5776(双精度)。

我没有任何价值加倍,我坚持这一点。任何肝脏将不胜感激。

Dim lRow, asLastrow, amLastrow, bsRow, bmRow As Integer

Sheets("Multiple").Activate
lRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

bmRow = lRow + 1
bsRow = lRow + 1

Sheets("Multiple").Activate
amLastrow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
Sheets("Single").Activate
asLastrow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1

If asLastrow > 1 Then
    Do While bsRow < asLastrow
        ActiveSheet.Range("A" & CStr(bsRow)).Formula = "=CONCATENATE(VLOOKUP(R[" & CInt(bsRow) & "]C[5],category.csv!C[1]:C[2],2,0),VLOOKUP(R[" & CInt(bsRow) & "]C[6],genre.csv!C[1]:C[2],2,0),INDEX(source.csv!C,MATCH(R[" & CInt(bsRow) & "]C[4],source.csv!C[1],0)))"
        bsRow = bsRow + 1
    Loop
End If

我检查时的实际单元格内容是

= CONCATENATE(VLOOKUP(F5772,category.csv B:!C,2,0),VLOOKUP(G5772,genre.csv B:!C,2,0),INDEX(source.csv!A:A, (!E5772,source.csv B:B,0)MATCH))

1 个答案:

答案 0 :(得分:1)

R[2886]C[5]是相对坐标 - 包含公式的单元格右下方2886行和5列。

R[0]C[5]或简称RC[5]是引用同一行的两种正确方法。

另一种选择是使用绝对坐标:R2886C6