繁体   English   中英

如何在excel中合并连续的空单元格

[英]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.CountnCol = ActiveSheet.UsedRange.Columns.Count将获得活动工作表中使用的列数和行数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM