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

使用VBA在Excel中使用合并和居中单元格,vba,excel,Vba,Excel,如果我在excel中的“合并”和“居中”单元格上取一个范围,那么每个单元格是作为单个单元格还是作为组成它们的单元格组来处理的?例如,如果单元格A1到A10合并,我执行 Worksheets(1).Range("A5") 这将返回构成合并单元格的单个单元格的范围,还是返回由合并单元格本身组成的范围?如果我得到它的值,它将包含什么值 换句话说,在excel VBA中,如何表示合并单元格的范围 另外,如何获得与该合并单元格的长度相邻的未合并单元格的范围 换句话说,在excel VBA中,如何表示合并

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

Worksheets(1).Range("A5")
这将返回构成合并单元格的单个单元格的范围,还是返回由合并单元格本身组成的范围?如果我得到它的值,它将包含什么值

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

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

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

通过使用左上角的单元格对其进行寻址。例:本例中为“A1”

如有疑问,请先亲自检查。如果仍然有疑问,搜索谷歌或任何你使用的搜索引擎。如果有不清楚的地方,问:)

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

它将返回一个单元格
A5
,其中没有任何内容,因为合并单元格时,左上角单元格中的数据将被保留,其余单元格将被丢弃。我之所以说丢弃,是因为如果现在取消合并单元格,将无法恢复值

检查的最佳方法

假设
A1
A10
1,2,3..10
。合并它们。单元格现在只有
1

在即时窗口中试试这个

?范围(“A5”).值

你将一无所获。类似地,如果要对其进行写入,则不能使用
Range(“A5”).Value=“Blah”
。您必须使用左上角的单元格来解决它。比如说


Range(“A1”).Value=“Blah”

换句话说,在excel VBA中如何表示合并单元格上的范围?
,方法是使用左上角单元格对其进行寻址。例如:在本例中为“A1”。这意味着每个合并的单元格都将由构成它的第一个单元格寻址?是的:)请尝试
工作表(1).Range(“A5”).Value=“Blah Blah”
,然后再
工作表(1).Range(“A1”).Value=“Blah Blah”
,如果我在a列上有一个范围,它由合并的单元格组成,并且我对该范围内的每个单元格执行
,它会处理合并区域内的单元格,还是会跳到该区域外的下一个单元格?它会处理合并区域内的单元格。请尝试并调试。打印每个单元格的地址。您可以按照此答案顶部的建议进行操作。这肯定会回答这个问题和其他许多问题。@sancho.s:我在编辑中准确地键入了:D一个不同的变体,但意思是相同的:)那么我怎么知道一个单元格是否属于合并区域呢?