标题几乎说明了。我需要将一些细胞从一个细胞转移到另一个细胞,而不需要在插入操作后细胞的坐标发生变化。
在例如,我希望Sheet1的单元格B3的值转移到Sheet2的单元格A2。如果我在B3的左侧插入一列,则前一个B3将变为C3,您现在有一个新的B3,您可以在其中添加新值。我希望我的A2仍然能够获得B3的值,但新的B3,而不是旧的B3现在是C3。
如果我使用function GetVMTCount(AClass: TClass): integer;
var
p: pointer;
VirtualMethodCount: word;
begin
p := PPointer(PByte(AClass) + vmtMethodTable)^;
VirtualMethodCount:= PWord(p)^;
//Size of the VMT in bytes
Result:= VirtualMethodCount * SizeOf(Pointer) - vmtSelfPtr;
//Number of entries in the VMT
Result:= Result div SizeOf(Pointer);
end;
,则在插入列后,它将变为+Sheet1!B3
。我希望它留给+Sheet1!C3
。
我尝试使用$,+ Sheet1!$ B $ 3,但它仍然会改变。
答案 0 :(得分:0)
您可以在excel中使用间接功能。
+INDIRECT("Sheet1!B3")
答案 1 :(得分:0)
请注意,您永远不会更改A列的位置,您可以执行以下操作:
=INDEX(Sheet1!$A:$$ZZ,ROW(B3),2)
警告:由于设置仅适用于A和ZZ列之间的单元格。随着列的添加,ZZ参考将增加。如果您最初在ZZ之外有列,则必须调整最终列引用以满足您的需求。
答案 2 :(得分:0)
INDEX在函数中给了我一些错误(可能在我的结尾),但我设法用INDIRECT解决了它。 Ty的反馈,@ AlexCollins @ForwardEd