我需要更改单元格的值。例如,Range("B1").value
是“蛋糕”,我做
Range("B1").value = "Bubblegum"
但是,我有一个Worksheet_Change
事件,当它开始时,如果我MsgBox "Target.value"
它将是“蛋糕”而不是“泡泡糖”。
这是我的活动:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cellAdress As String
cellAdress = Target.Column
If cellAdress = 5 Then
If Target.Value = "X" Then
Range("F" & Target.Row).Value = "0,0€"
ElseIf Target.Value = "O" Then
If Range("A" & Target.Row).Interior.ColorIndex = 2 Then
Range("F" & Target.Row).Value = Worksheets("Astreinte").Range("B10").Value
Else
Range("F" & Target.Row).Value = Worksheets("Astreinte").Range("B11").Value
End If
Else
Range("F" & Target.Row).Value = "Valeur Incorrecte"
End If
End If
End Sub
这是我的代码
For Each myDate In DateMonthCorrespondante
Range("E" & (2 + Day(myDate))).Value = "O"
Next
我该如何改变?
感谢您的帮助
答案 0 :(得分:0)
您可以尝试串联使用SelectionChange和Change事件,即
Dim v
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox v
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = Target.Value
End Sub
这一切都在表单模块中。然后,您可以添加条件来限制您希望框出现的情况等等。
答案 1 :(得分:0)
之前禁用事件并在之后重新启用。
Application.EnableEvents = False
Range("B1").value = "Bubblegum"
Application.EnableEvents = True
答案 2 :(得分:0)
嗯,在你的帮助下,我终于解决了我的问题。
我在行中出错了
Range("E" & (2 + Day(myDate))).Value = "O"
由于这件事,它并没有对我说。