如果有可能在两者之间添加新列,请如何设置OFFSET

我有一个场景,在基于buttonsearch(点击)我需要更新一个特定的单元格的值从search结果。 searchbuttonTopLeftCell属性和OFFSET()方法用于到达要复制值的单元格

With Sheets("Test").Shapes("btnSearch").TopLeftCell .Offset(0, -4).Value = searchResult End With 

但有一个要求,如果有任何列后来添加到这些单元格然后偏移将不得不被改回来

有没有办法处理这种情况,以便我们不必担心OFFSET方法,即使我们之间添加/删除列

请注意,这些单元格实际上是excel中列表/网格的一部分,它们是dynamic增加的。

刚刚testing过,它工作:

 With Sheets("Test") Dim resCol As Long 'change myHeader to defined header and row number as needed resCol = .Rows(1).Find("myHeader").Column Dim resRow As Long resRow = .Shapes("btnSearch").TopLeftCell.Row .Cells(resRow, resCol).Value = searchResult End With