Требуемый объект: VBA Excel, выбор диапазона

Поэтому я получаю сообщение об ошибке в этой строке кода в этой конкретной структуре выбора, которую я пытаюсь сформулировать. Я пытаюсь динамически выбирать диапазон, основываясь на выборе 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 ответ

Можете ли вы попробовать этот код ниже, и дайте мне знать, если что-то не хватает.

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 он будет считаться строкой, а не значением.

Другие вопросы по тегам