Выберите ячейку даты только из столбца в Excel - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю на листе Excel, в столбце с несколькими датами и другими числами. Я пытаюсь выбрать только дату и скопировать ее в следующий столбец. Я попытался использовать опцию Найти и заменить, но она не работает, я использовал скрипт KUTOOLS, но он выбирает диапазон значений. Таким образом, значение попадает в один и тот же диапазон двух разных значений, поэтому не может дифференцироваться. Как выбрать только ячейки даты в Excel.

Sub FindReplace()
'Update 20150423
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    If Rng.Value > 500 Then
        Rng.Value = 0
    End If
Next
End Sub

Ниже приведен лист Excel

[1]:

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Вы можете попробовать:

Option Explicit

Sub test()

    Dim LastRow As Long, i As Long

    With ThisWorkbook.Worksheets("Sheet1") '<- Refer to the sheet you want

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row '<- Find the last row of column A

        For i = 2 To LastRow '<- Loop from row 2 to last row

            If IsDate(.Range("A" & i).Value) Then '<- Check if column A row i is date
                'Code Here
            End If

        Next i

    End With

End Sub
0 голосов
/ 18 апреля 2019

Вы можете использовать функцию IsDate для cell.Value (не Value2) для фильтрации, если значение имеет формат DATE.

Dim rng As Range
Set rng = Worksheets(1).Range("A2", "A5")
Dim cell As Range
For Each cell In rng.Cells
  With cell
    If IsDate(cell.Value) Then
      Debug.Print cell.Value
    End If
  End With
Next cell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...