如何避免在excel中垂直合并单元格?

如何避免在excel中垂直合并单元格?,excel,formatting,alignment,Excel,Formatting,Alignment,我厌倦了合并的细胞。它们就是不起作用 所以我找到了一种避免水平合并单元格的方法,当我只需要文本在多个列中居中时。这是:范围(“A1:C1”)。水平对齐=xlCenterAcrossSelection 它就像一个符咒。太完美了。这正是我需要的 我很天真地认为你也可以在垂直方向上做同样的事情,让文本在多行上居中。类似于:范围(“A1:A3”)。垂直对齐=xlCenterAcrossSelection 但是,唉,这是行不通的 我是否遗漏了一些东西,或者Excel开发人员真的认为,虽然以列为中心是一种常

我厌倦了合并的细胞。它们就是不起作用

所以我找到了一种避免水平合并单元格的方法,当我只需要文本在多个列中居中时。这是:
范围(“A1:C1”)。水平对齐=xlCenterAcrossSelection

它就像一个符咒。太完美了。这正是我需要的

我很天真地认为你也可以在垂直方向上做同样的事情,让文本在多行上居中。类似于:
范围(“A1:A3”)。垂直对齐=xlCenterAcrossSelection

但是,唉,这是行不通的

我是否遗漏了一些东西,或者Excel开发人员真的认为,虽然以列为中心是一种常见的做法,但以行为中心是一个愚蠢的想法,没有人会这样做,所以为什么还要麻烦呢?

您可以尝试以下方法:

Sub VerticalAlign()
ThisWorkbook.Sheets(1).Cells(Round((WorksheetFunction.CountA(Range("A1:A6")) + WorksheetFunction.CountBlank(Range("A1:A6"))) / 2, 0), "A") = "Your Value Here"
End Sub

您需要更改正在计数的范围及其所指的列,但这应该可以做到。不过有一点警告:VBA的取整方式与Excel不同。不过,它应该始终在一位数以内。您可以在此处了解更多信息:

我们在单元格上使用文本框形状来完成此操作。如果在绘制形状时按住Alt键,则角点将捕捉到Excel网格,并随单元格移动和调整大小,因此只需在单元格中键入内容即可。如果有人想知道,我发现了一个很好的解决方案

就我的情况而言,我需要在一个线性日历上跟踪员工的休假时间,该日历可以按姓名和责任区域进行排序。标题部分包含了我希望在过滤下面的数据时可见的三行。第1行=年(跨月合并),第2行=月(跨天合并),第3行=天。 单元格A1:A3合并并标记姓名(员工),B1:B3合并并标记区域(职责),因此我们可以在日历电子表格上跟踪假期时间,以确保每个区域都有覆盖范围(至少有一名负责该区域的员工可用)。此方法的缺点是导致筛选器块与第1行关联,因此在筛选名称时隐藏第2行和第3行

然后,我尝试了上一篇文章中的VBA代码,它成功了,但是最大化了字体大小,如果太大的话,它就会被切断。所以在美学上,它看起来很糟糕

然后我将名称/区域标题放在单元格A3和B3中,不合并,并在第三行设置过滤器。这有效地过滤了从第4行开始的所有内容,而没有在上面隐藏任何内容,但看起来仍然很糟糕

现在我找到了工作。如果您的标题位于要合并位置的顶部单元格中,并且在底部部分有一些值。在底部部分设置过滤器(需要一个值来设置过滤器)。然后合并这三个单元格,就可以了。 现在我的A1:A3名称和B1:B3区域合并了,但是过滤器框位于部分的底部(与第3行对齐)


希望这对一些人有用。然后我从编辑中锁定了这些单元格(自动筛选设置除外),现在它不能被意外更改。仅过滤。

很抱歉,没有垂直居中的标准方法。正如您在拾取单元格并打开“单元格格式”对话框时所看到的。在垂直对齐液滴列表中,您没有垂直居中的选项。是的,我认为没有“标准”方法可用。也许有人有一个更复杂的解决方法?除了使用一个矩形,它将位于“合并单元格”上,我看不到任何Excel方式,我会用标准合并处理这个问题,它的缺点在这里引用另一个注释。。。。如果您可以在范围内获取行的计数,然后将文本放置在中间单元中…对于行数为偶数的范围,您必须选择一个中间地带。