Excel无法读出variables

我有以下代码:

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 

但是,当我扫描新框没有任何反应,是所有的语法是正确的? 我得到没有错误,任何input将不胜感激。

这是你在追求什么?

  Case "NEW-BOX" Selection.Offset(-1, 2).Select MsgBox Selection.Address ' Debug, nothing comes up however Selection.ClearContents Selection.Offset(1, -2).Select 

编辑:如果你想设置FinalAddr的select,然后testing它的工作原理:

  Case "NEW-BOX" Selection.Offset(-1, 2).Select Set FinalAddr = Selection MsgBox FinalAddr ' Debug, nothing comes up however Selection.ClearContents Selection.Offset(1, -2).Select 

如果你想在单元格中的值,你应该使用Finaladdr = Selection.Value ,但是如果你想要的地址select你应该使用= Selection.AddressLocal()

但是,如果你想参考的范围,你需要使用Set然后.AddressLocal()单元格地址时。