[英]how to merge consecutive empty cells in excel
我有一个类似于以下数据的excel文件原始数据
我想合并所有出现在它之前的空单元格(自动),如下所示,合并后应该是这样的
由于文件很多,无法手动完成,因此寻找使用脚本或其他方法的方法。 想过使用 autoit 但不能。 请帮忙 :)
任何时候都没有做过vba代码,但在谷歌的帮助下可以达到
Sub abc()
Dim a As Integer
Dim b As Integer
Dim c As Integer
b=1
For a = b To 308
If Cells(a, c) = "" Then
Range(Cells(a, c), Cells(a - 1, c)).Merge
End If
Next
End Sub
经过一番谷歌搜索后,我遇到了同样的情况,我现在没有我的脚本,但你的代码看起来很简单,通过以下更改,你可以实现你想要的。 试试看。
我假设 C 是您需要进行此合并的列数,而 308 是您拥有的行数..
Sub abc() Dim a As Integer Dim b As Integer Dim c As Integer For c = 1 To 4 b = 3 For a = b - 1 To 308 If Cells(a, c) = "" Then Range(Cells(a, c), Cells(a - 1, c)).Merge Else b = a End If Next Next End Sub
Sub mergeBlankRows()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim nRow As Integer
Dim nCol As Integer
nRow = ActiveSheet.UsedRange.Rows.Count
nCol = ActiveSheet.UsedRange.Columns.Count
For c = 1 To nCol
b = 3
For a = b - 1 To nRow
If Cells(a, c) = "" Then
Range(Cells(a, c), Cells(a - 1, c)).Merge
Range(Cells(a, c), Cells(a - 1, c)).HorizontalAlignment = xlCenter
Range(Cells(a, c), Cells(a - 1, c)).VerticalAlignment = xlCenter
Else
b = a
End If
Next
Next
End Sub
nRow = ActiveSheet.UsedRange.Rows.Count
和nCol = ActiveSheet.UsedRange.Columns.Count
将获得活动工作表中使用的列数和行数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.