Excel 宏 VBA 从一个月的电子表格中删除特定数据

Excel Macro VBA Deleting specific data from a month's spreadsheet

我对 Visual Basic 应用程序还很陌生,我想知道如何使用宏来格式化电子表格的特定部分。

我附上截图,我想删除从凌晨12点到早上8点的一个月这样典型的数据。请让我知道如何使用 Excel 宏做很多事情。

这是一个解决方案,您可以在其中提供循环范围,检查该范围内的单元格,然后在检查所有单元格后删除整行:

Sub remove_rows()

    'range of dates to be checked
    Dim target_range As Range
    Set target_range = Range("A1:A10")

    'range of cells to be removed
    Dim remove_range As Range

    Dim from_time As String
    Dim to_time As String

    from_time = "19:37:38"
    to_time = "22:01:38"

    'loop to get all cells
    For Each cell In target_range

        If TimeValue(cell) > from_time And TimeValue(cell) < to_time Then

            Debug.Print TimeValue(cell)

            If remove_range Is Nothing Then
                Set remove_range = cell
            Else
                Set remove_range = Union(remove_range, cell)
            End If

        End If

    Next cell

    'just for debuging puposes (delete this line later)
    remove_range.Select

    'remove all rows (change it if you want to shift cells...)
    remove_range.EntireRow.Delete

    Set remove_range = Nothing

End Sub

我在我的 A1:A10 范围内创建了一系列日期(在这里使用你的)。在这里您可以看到哪些行将被删除:

同时更改时间标准: from_time = "19:37:38" 和 to_time = "22:01:38"