无法将选择范围引用到任何特定的工作表

时间:2019-08-07 18:19:47

标签: excel vba

我创建了一个宏来打印单元格的范围及其在控制台中的内容。宏做得很好。但是,问题是我不能使用连接到该宏的按钮(在另一张纸上)。更清楚一点-我在sheet2中创建了一个启用宏的按钮,而我希望选择和打印的单元格范围在sheet1之内。

到目前为止,我已经尝试过:

Sub LoopAndPrintSelection()

    Dim ocel As Range, RangeSelected As Range

    Set RangeSelected = Application.Selection

    For Each ocel In RangeSelected.Cells
        Debug.Print ocel.Address, ocel.value
    Next ocel

End Sub

如何将选择范围引用到任何特定的工作表?

2 个答案:

答案 0 :(得分:0)

正如其他人已经提到的那样,“ Application.Selection”属性将引用您在活动工作表中选择的内容。我建议您为该宏分配一个热键,然后可以选择要打印的单元格并使用该宏的热键。

这是一种可能的解决方案,但是如果您需要该按钮在另一张纸上并且希望人们与该按钮进行交互(而不是热键),那么这将无法解决您的问题。

答案 1 :(得分:0)

这应该有助于解决两个不同的标签

Sub DUMMY_TEST()

Dim myAREA As Range
Dim mySELECTION As Range

On Error GoTo error_spot

'Stop Excel from "blinking" as tabs are selected/changed and calculating.
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set mySELECTION = Application.Selection  'Used to get back to same spot after code has executed


If Sheets("Sheet1").Visible = True Then
    Sheets("Sheet1").Activate
Else
    'tab not visible, end sub
    GoTo error_spot
End If


Set myAREA = Application.Selection

For Each ocel In myAREA.Cells
        Debug.Print ocel.Address, ocel.Value
    Next ocel


mySELECTION.Worksheet.Activate
mySELECTION.Select

error_spot:

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True


End Sub