我对 Visual Basic 应用程序非常陌生,我想知道如何使用宏格式化电子表格的特定部分。
我附上了一个屏幕截图,我想删除从上午 12 点到上午 8 点的数据,以获得一个月的此类典型数据。请让我知道如何使用 Excel 宏做很多事情。
我对 Visual Basic 应用程序非常陌生,我想知道如何使用宏格式化电子表格的特定部分。
我附上了一个屏幕截图,我想删除从上午 12 点到上午 8 点的数据,以获得一个月的此类典型数据。请让我知道如何使用 Excel 宏做很多事情。
这是一个解决方案,您可以提供 range for loop 检查此范围内的单元格,然后在检查所有单元格后删除整行:
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"