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