如何range.find合并单元格中的值
我有一个合并单元格的工作表(例如B2:C3值“myValue”)。 如果我尝试search与合并单元格中的值
r = ThisWorkbook.ActiveWorksheets.Range("$A:$D").Find("myValue") Debug.Print r.Address
我只得到其他具有相似值的单个单元格的地址,但不是合并单元格的地址。
我怎样才能用VBA做到这一点? 如果我使用Excel的手动searchfunction,它会立即find值。
最好的问候,哈利
编辑:当我使用从加里的代码,我得到一个运行时错误91.variablesr是没有。
清理几件事情:
Sub MAIN() Dim r As Range Call Setup Set r = ThisWorkbook.ActiveSheet.Range("$A:$D").Find("myValue") Debug.Print r.Address End Sub Sub Setup() Dim rng As Range Set rng = Range("B2:C3") With rng .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With rng.Value = "MyValue" End Sub
会让你看到合并区域的左上angular :
你应该使用MergeArea
来处理这种情况:
Sub test() Dim r As Range Set r = ThisWorkbook.ActiveSheet.[A:D].Find("myValue") Debug.Print r.MergeArea.Address End Sub