以下是在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))
答案 0 :(得分:1)
R[2886]C[5]
是相对坐标 - 包含公式的单元格右下方2886行和5列。
R[0]C[5]
或简称RC[5]
是引用同一行的两种正确方法。
另一种选择是使用绝对坐标:R2886C6
。