【发布时间】:2016-02-17 20:14:29
【问题描述】:
我正在为 Excel 编写一个宏,它将合并“A”列中的单元格,其中包含标题和其下方的空白单元格。
这是我正在处理的一个示例:Actual Before
这是想要的结果:Actual After
到目前为止,我已经设法让我的代码正常工作,但我注意到它总是会跳过“防病毒”部分。
这是我目前得到的:
'loop to merge titles with blank cells and add borders
LR = Sheets(DataSheet).Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To LR
If Sheets(DataSheet).Cells(i, 1).Value <> "" And Sheets(DataSheet).Cells(i + 1, 1).Value = "" And Sheets(DataSheet).Cells(i + 1, 2).Value <> "" Then
u = i + 1
Do While Sheets(DataSheet).Cells(u, 1).Value = "" And Sheets(DataSheet).Cells(u, 2) <> ""
u = u + 1
Loop
Sheets(DataSheet).Range("A" & i & ":A" & (u - 1)).Select
With Selection
.Merge
.BorderAround Weight:=xlMedium
.WrapText = True
'.VerticalAlignment = x1VAlignTop
'.HorizontalAlignment = xlLeft
End With
Sheets(DataSheet).Range("B" & i & ":B" & (u - 1)).BorderAround Weight:=xlMedium
i = u + 1
End If
If Sheets(DataSheet).Cells(i, 1).Value <> "" Then
Sheets(DataSheet).Cells(i, 1).BorderAround Weight:=xlMedium
Sheets(DataSheet).Cells(i, 1).WrapText = True
Sheets(DataSheet).Cells(i, 2).BorderAround Weight:=xlMedium
Sheets(DataSheet).Cells(i, 2).WrapText = True
End If
Next i
请原谅我的代码有任何草率,我对此很陌生。我不知道我错过了什么,但任何帮助将不胜感激! 谢谢
【问题讨论】:
-
您需要提供具体示例,说明您的数据在工作时和不工作时的样子。 “有时它会跳过单元格或不起作用”没有帮助,基本上意味着要回答您的问题,有人需要从头开始调试它,包括将代码放在工作表中并尝试编写一些数据来重新创建您的问题。
-
好的,感谢您的快速反馈。我将尝试从我的实际数据中删除任何个人数据,并提供一个真实的前后示例。
-
太好了 - 当您回复某人的评论时,您应该始终输入“@”,然后输入他们的用户名。这会 ping 那个人,让他们知道你对他们说了些什么。在你编辑完你的问题后,如果你想让我看一下,请发表评论,包括@Grade,然后按 Tab 让网站输入我的整个用户名。
-
@Grade'Eh'Bacon - 谢谢!我刚刚用更好的前后图片完成了编辑,以更好地显示问题。