/ / Як шукати та редагувати лише клітинки типу "дати" у робочому аркуші Excel - excel, vba, excel-vba

Як шукати та редагувати лише клітинки типу "дати" у робочому листі 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" у цій комірці.

Дякую

Відповіді:

3 для відповіді № 1

Це те, що ви намагаєтеся? Спочатку слід шукати порожні клітинки, а потім перевіряти, чи кожна клітинка цього діапазону має певний формат "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