2014-11-08 95 views
0

搜索和編輯只是「日期型」細胞我有這樣的代碼如何在Excel工作表

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」。

謝謝

+0

我的意思是定義爲格式(日期,「短日期」)的單元格 – user3333321 2014-11-08 08:38:53

+0

好吧,請使用我在下面給出的代碼並檢查。如何在您的電腦上顯示短日期? 「mm/d/yyyy」還是別的? – 2014-11-08 08:42:41

回答

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 
+0

你用什麼來代替「dd/mm/yyyy」 – 2014-11-08 08:59:56

+0

我使用「dd/mm/yyyy」但它不填充任何單元 – user3333321 2014-11-08 09:06:34

+0

它不能是:)如果填充那些單元那麼這意味着那些單元被格式化爲「dd/mm/yyyy」。去檢查。點擊單元格,然後在立即窗口中(在VBE中)輸入「?Activecell.NumberFormat」 – 2014-11-08 09:11:32