所需对象:VBA Excel,范围选择

时间:2017-12-01 06:47:06

标签: excel vba excel-vba object error-code

所以我在这个特定的选择结构中的代码行中出现错误,我正在尝试制定。我试图动态选择一个基于Demand选择的范围和一个读入UB的用户条目,但是我不断得到对象所需的错误并且确定错误(我知道我的代码有点多余了某些部分,我正在获得关于范围的另一个错误代码,并暂时留下一些冗余!)

   Dim y As Integer
   UB = TextBox1.Text
   y = UB + 4
   srange = "C" & 4 & ":" & "J" & y

   If ComboBox2.Text = "Demand" Then
    Worksheets("SensitivityDemand").Visible = True
    Worksheets("Welcome").Visible = False
    Worksheets("SensitivityDemand").Activate
    ActiveSheet.Range("A1").Select
    Sheets("SensitivityDemand").Select

    With ActiveSheets
        .Range("srange").Select          'Object required here 
        Application.CutCopyMode = False
    'Application.CutCopyMode = False
        Selection.Table RowInput:=Range("B3"), ColumnInput:=Range("B4")

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码,如果有任何遗漏,请告诉我。

Dim y As Integer
UB = TextBox1.Text
y = UB + 4
srange = "C" & 4 & ":" & "J" & y

If ComboBox2.Text = "Demand" Then
Worksheets("SensitivityDemand").Visible = True
Worksheets("Welcome").Visible = False
Worksheets("SensitivityDemand").Activate
ActiveSheet.Range("A1").Select
'Sheets("SensitivityDemand").Select


    ActiveSheet.Range(srange).Select          'Object required here 
    Application.CutCopyMode = False
'Application.CutCopyMode = False
    Selection.Table RowInput:=Range("B3"), ColumnInput:=Range("B4")

不要使用ActiveSheets 同样srange不会将它们放入双qoutes中,因为它传递了一些值。因此,如果您将srange置于双qoutes中,它将视为字符串而不是值。