【发布时间】:2020-06-03 21:53:17
【问题描述】:
我需要合并月份上方的单元格。 单元格应从 01 到 12 合并,在单元格中显示年份。
查找图片以获得更多说明。 我有下面的代码,但它显示在单元格 row1 中运行几个月后。 我的想法是通过 vba 将上述单元格转换为年份,并在同一年最后应用合并。 显示在所需的输出中。
注意。 第 4 行和第 5 行只是我的想法,这将有助于合并。
Dim a(), i As Long, j As Long, m As Long, x As Range
With Range("b1:qaz1")
.MergeCells = False
.ClearContents
a() = .Offset(1).Value
m = Month(a(1, 1))
j = UBound(a, 2)
Set x = .Cells(1)
For i = 2 To j
If m <> Month(a(1, i)) Or i = j Then
With Range(x, .Cells(i - IIf(i = j, 0, 1)))
.MergeCells = True
.HorizontalAlignment = xlCenter
End With
x.Value = Format(DateSerial(2000, m, 1), "MMMM")
m = Month(a(1, i))
Set x = .Cells(i)
End If
Next
End With
End Sub
【问题讨论】:
-
Excel 的人都知道合并会带来麻烦。考虑将您的问题重新表述为如何在不合并单元格的情况下达到您想要的结果,这样会有更多人对您的主题感兴趣。