Vba 对整列而不是一个单元格使用范围
我目前拥有的:Vba 对整列而不是一个单元格使用范围,vba,excel,Vba,Excel,我目前拥有的: Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If IsEmpty(Range("G15").Value) = True Then If Selection.Count = 1 Then If Not Intersect(Target, Range("G15")) Is Nothing Then
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(Range("G15").Value) = True Then
If Selection.Count = 1 Then
If Not Intersect(Target, Range("G15")) Is Nothing Then
Range("G15").Value = Date
End If
End If
End If
End Sub
我创建此项的原因如下:
我想点击一个单元格,它会自动输入今天的日期。现在,如果单元格已经包含文本(不管是什么),那么它就没有否决该输入
我所创造的一切完美无瑕。。对于一个单元格。我希望它对整个列(在本例中是“G”列)都有效
我尝试使用Range(“G1:G1000”),但没有成功。我尝试过使用一个教程来解释如何使用多个范围(),但也没有成功
我错过了什么
Range("G15").EntireColumn
可能就是您要查找的内容。使用下面的方法,如果您选择要添加日期的G行,则此方法有效
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(Range("G" & Target.Row).Value) = True Then
If Selection.Count = 1 Then
If Not Intersect(Target, Range("G" & Target.Row)) Is Nothing Then
Range("G" & Target.Row).Value = Date
End If
End If
End If
End Sub
如果您可能在该范围内有一些非空单元格,但希望填充所有空单元格,则需要:
Option Explicit
Sub FillEmptyWithDates()
Dim Cell1 As Range
Dim Range1 As Range
Set Range1 = ActiveWorksheet.Columns(7)
For Each Cell1 in Range1
If IsEmpty(Cell1.Value) = True Then
Cell1.Value = Date
End If
Next Cell1
End Sub
我对你的代码做了一点修改,因为它似乎让你很难完成你想要完成的事情:用当前日期填充G中的所有空单元格
不再在每次选择新单元格时触发此宏。您可以进入“宏”菜单,选择它,然后按下“运行”按钮。非常感谢您的帮助。99moorem是我需要的。谢谢你的快速回复。