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()
单元格地址时。