如何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