如何仅搜索和编辑日期类型' excel工作表中的单元格

时间:2014-11-08 08:13:06

标签: excel vba excel-vba

我有这个代码

Sub fill()
  Dim rg As Range
  Set rg = Range("a1")
  Set rg = Range(rg, Cells(ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1, rg.Column))
  On Error Resume Next
  Set rg = rg.SpecialCells(xlCellTypeBlanks)
  On Error GoTo 0
  If Not rg Is Nothing Then
    rg.Value = "1/1/2020"
  End If
End Sub

但它不能像我想的那样工作。

我需要搜索整个excel工作表范围(a1:bj1223)并检查所有'日期类型'单元格。当它找到一个'日期类型'的单元格并且它是空的时,我需要在这个单元格中添加值“1/1/2020”。

谢谢

1 个答案:

答案 0 :(得分:3)

这是你在尝试什么?这将首先查找空白单元格,然后检查该范围内的每个单元格是否具有特定格式"dd/mm/yyyy"根据需要进行更改。

Sub Sample()
    Dim rng As Range, aCell As Range
    Dim blnkCells As Range

    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:BJ1223")

    On Error Resume Next
    Set blnkCells = rng.SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0

    If Not blnkCells Is Nothing Then
        For Each aCell In blnkCells
            If aCell.NumberFormat = "dd/mm/yyyy" Then aCell.Value = "1/1/2020"
        Next aCell
    End If
End Sub