从VBA中的单元格地址获取Excel合并单元格的值

您所在的位置:网站首页 vba获取按钮的值 从VBA中的单元格地址获取Excel合并单元格的值

从VBA中的单元格地址获取Excel合并单元格的值

2023-12-11 19:17| 来源: 网络整理| 查看: 265

如何在VBA中获取具有范围地址如" $ B $ 4:$ B $ 11"的Excel合并单元格的值

相关讨论 Excel,我认为? 值得添加为标签... Range("B4:B11").Cells(1).Value?

即使不鼓励在Excel中使用合并单元格(例如,如有必要,请使用Center Across Selection),"包含"值的单元格也是左上角的单元格(至少,这是一种表达它的方式)。

因此,您可以通过几种方式获取范围B4:B11中合并单元格的值:

Range("B4").Value Range("B4:B11").Cells(1).Value Range("B4:B11").Cells(1,1).Value

您还可以注意到,所有其他单元格中没有任何值。调试时,您可以看到该值为empty。

还要注意,Range("B4:B11").Value将不起作用(如果尝试对它执行Debug.Print,则会引发13号执行错误),因为它返回一个数组。

相关讨论 当我不知道合并区域的边界时,可以通过Range("B6").MergeArea.Cells(1,1).Value获得值 不错的提示! 另外:Range("B4:B11").Item(1).Value或简称为Range("B4:B11")(1).Value

乔什·布朗(Josh Brown)在评论中给出了我认为最好的答案:

当我不知道合并区域的边界时,我得到的值是

1Range("B6").MergeArea.Cells(1,1).Value

例如,当您遍历可能合并了未知范围单元格的文件时,这在VBA中很有用,因此使用此方法可以更加通用。谢谢乔什!

这可以通过2个步骤完成:

首先命名合并单元格的范围;突出显示合并的单元格,然后在功能区栏上:Formulas Tab --> Define Name;

确保名称中没有空格。示例:defined_Name。转到要查看输出/结果的所需单元格。在该单元格中,键入:=defined_Name。

按回车,因为您已完成。

相关讨论 这与VBA不相关。 同样,使用VBA,您可能不知道合并的单元格在哪里或其边界在哪里。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3