在一行中的非空单元格之间寻找空单元格,然后输入 0

在一行中的非空单元格之间寻找空单元格,然后输入 0

在此处输入图片描述 在此处输入图片描述 ABC abc 30 40 def 4646

45 3234

因此,我想编写一个宏代码,一次性考虑所有三列。例如,如果三列(A、B、C)中的任何一列都有数据(如第 2 行),但有一个单元格是空白的,那么它应该在那里添加 0如果所有列的所有单元格都为空(如第 4 行),则应忽略并保持原样。

它看起来应该是这样的,[在此处输入图像描述][2]

ABC abc 30 40 0 def 4646

45 3234

请帮助我,我将非常感激

答案1

此代码将完成如下描述的工作:

Option Explicit

Sub fillEmptyCellsWithZero()
Dim oSheet As Worksheet
Dim oRange As Range, oRow As Range, aCells As Range, oCell As Range
Dim countEmptyCell As Integer
    Set oSheet = ActiveSheet
    Set oRange = Application.Intersect(oSheet.UsedRange, oSheet.Range("A:C"))
    For Each oRow In oRange.Rows
        countEmptyCell = Application.WorksheetFunction.CountBlank(oRow)
        If (countEmptyCell > 0) And (countEmptyCell < 3) Then
            Set aCells = oRow.SpecialCells(xlCellTypeBlanks)
            For Each oCell In aCells.Cells
                oCell.Value = 0
            Next oCell
        End If
    Next oRow
End Sub

但出于某种原因,我认为你将无法使用它:任务描述显然是故意简化的,与你的真实数据不符 -XY问题

相关内容