【发布时间】:2013-02-11 18:00:09
【问题描述】:
我有以下代码:
Dim FinalAddr As Range
Dim Final As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
Select Case UCase(Target.Value)
Case "NEW-BOX"
Selection.Offset(-1, 2).Select
FinalAddr = Range(Selection.Address)
MsgBox FinalAddr ' Debug, nothing comes up however
Selection.ClearContents
Selection.Offset(1, -2).Select
Case "END-BOX"
Final = FinalAddr.Value
Application.Speech.Speak (Final)
End Select
End Sub
但是,当我扫描新盒子时没有任何反应,是否所有语法都正确?我没有收到任何错误,任何输入将不胜感激。
【问题讨论】:
-
您是否尝试在
Case "NEW-BOX"上设置断点? -
在
End Select语句之前插入Case Else: MsgBox "You provided " & UDase(Target.Value),以查看正在检查的内容。 -
你想在 MsgBox 中打印什么?
-
@AndreyGordeev 我尝试了一个断点,但是代码执行得很好,只是没有设置变量。
-
@mattboy 我希望它打印选择的范围,所以我可以检查变量是否正在设置,但它根本没有设置
标签: excel excel-2007 vba