我希望实现以下目标:
C 列已根据数据输入进行条件格式化,如果数据超出范围,单元格背景将变为红色。
我想在输入数据时通过强制输入框强制在工作表底部输入数据,并且由于数据超出范围,单元格被条件格式化为红色。在此示例中,注释是在单元格 B101 中进行的。我该如何修改下面的代码,以便如果 B101 已经包含文本,则注释在 B102 中进行,如果 B102 包含文本,则注释在 B103 中进行,依此类推。
Private Sub worksheet_change(byval target as range)
If target.rows.count > 1 Or target.Columns.Count > 1 Then
Exit Sub
End if
Dim com As String
Dim comm1 As String
Set isect = Application.Intersect(target,Range("C1:C100"))
If isect Is Nothing Then
Else
If target.DisplayFormat.Interior.Color = RGB(255,0,0) Then
com = "Enter comment at bottom of sheet"
Do While comm1 = ""
comm1 = Application.InputBox(prompt:=com, Type:=2)
On Error GoTo myloop
If comm1 = False Then
comm1 = ""
End If
myloop:
On Error GoTo -1
Loop
Range("B101").Value = comm1
Else
Range("B101").value = ""
End If
End If
End Sub
答案1
您可以添加 Do While 循环:
Dim i As Long
i = 101
Do While Range("B" & i).Value <> ""
Debug.Print Range("B" & i).Address
i = i + 1
Loop
' Now that we're out of the loop, the next cell will be empty
Range("B" & i).Value = "Comment here"
编辑:或者,你也可以这样做Range("B101").End(xlDown).Offset(1,0).Value = "Comment Here"