我在Excel中创建了一个自动将日历信息从表格映射到动态日历视图的日历。每行表示从上午8点到下午6点的时间,每列表示周日至周六的一周中的某一天。我能够将每个独特事件的信息映射到每个列中的两个单独的单元格,一个用于开始时间,另一个用于结束时间。我正在寻找帮助,建立一个宏来合并包含相同信息的单元格,以便日历具有内聚性。例如。活动A从上午9点开始,于上午11点结束。目前在上午9点有一个单元,上午11点有一个单元,但10点的单元是空白的,我想将9AM单元中的两个单元合并到11AM单元。由于填充的单元格不总是相邻的,所以在这种情况下,偏移函数似乎不起作用。VBA在Excel中合并包含相同文本的非相邻单元格
这里是我想要实现的伪代码:
- 对于每一列在指定区域
- 循环的每一行
- 如果两个细胞都含有相同的文字
- 合并这些两个单元
这里是代码的一点我已经成功地拿出这么远。你可以知道有很多差距,可能是语法错误:
Sub MergeCells
Dim cells As String
cells = ActiveSheet.Range("C8:V28,C31:V51,C54:V74,C77:V97,C100:V120")
If ActiveSheet.Range(cells).??? Then
ActiveSheet.Range(cells).Merge
End If
End Sub
任何帮助将不胜感激!
如果哪两个单元格包含相同的文本?上面和/或下面的单元格?或者它会永远在上面?你能发布一些样本数据和期望的输出样本吗? – BruceWayne
正如@BruceWayne所言,前后图片肯定会对这里有所帮助 – dwirony
Stackoverflow不允许我嵌入图片,但是我在原始帖子中的图片前后附加了。正如您所看到的,单元格的位置将根据事件的开始和结束时间而变化。 – JuliaXu