使用VBA在Excel中使用合并和中心单元格

时间:2014-02-10 12:04:59

标签: excel vba excel-vba

如果我在excel中取一个范围而不是合并和居中的单元格,它们是作为单个单元格还是构成它们的单元格组来处理的?例如,如果单元格A1到A10合并,我执行

Worksheets(1).Range("A5")

这会返回构成合并单元格的单个单元格的范围还是包含合并单元格本身的范围?如果我得到它的价值,它会包含什么价值?

换句话说,你如何在excel VBA中表示合并单元格的范围?

另外,如何获得与此合并单元格长度相邻的非合并单元格的范围?

1 个答案:

答案 0 :(得分:1)

  

换句话说,你如何在excel VBA中表示合并单元格的范围?

通过左上角的单元格进行寻址。例如:在这种情况下为“A1”。

如有疑问,请先自行检查。如果仍有疑问,请搜索谷歌或您使用的任何搜索引擎。如果事情不清楚,请问:)

  

这会返回构成合并单元格的单个单元格的范围还是包含合并单元格本身的范围?如果我得到它的价值,它会包含什么价值?

它将返回单个单元格A5,其中没有任何内容,因为合并单元格时,左上角单元格中的数据会被保留并被丢弃。我之所以丢弃的原因是,如果你现在取消合并单元格,你就不会得到你的价值。

检查的最佳方式

我要说A1A101,2,3..10。合并他们。该单元格现在只有1

在立即窗口中尝试此操作

?Range("A5").Value

你什么都得不到。同样,如果您要写入,则无法使用Range("A5").Value = "Blah"。你必须用左上角的单元格来解决它。例如

Range("A1").Value = "Blah"