2017-12-01 7 views
0

그래서이 특정 선택 구조에서이 코드 줄에 오류가 발생합니다. 나는 동적으로 범위를 선택하고 UB로 읽어 들인 사용자 항목을 기반으로 범위를 선택하려고 노력하고 있는데, 그러나 필요한 객체를 계속 가져오고 잘못된 것이 무엇인지 확신합니다. (내 코드가 특정 부분, 내가 범위에 대한 또 다른 오류 코드를 받고 지금은 중복의 일부를 남겨했다!)필요한 개체 : VBA Excel 범위 선택

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") 
+2

따옴표를 제거하십시오 –

+0

나는 srange의 주위에 따옴표를 제거하는 것을 시도하고, 동일한 과실 메시지를 아직도 얻는다. –

+0

@ Ancheda.B.Anthony'Debug.Print'로'srange'의 값을 출력하고 그 결과를 줄 수 있습니까? 'TextBox1'에 있어야 할 것은 무엇입니까? 나는 당신의 오류가'Range ("srange")'false가되는'srange'의 무효 한 데이터에서 왔다고 생각합니다. – Teasel

답변

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") 

아무 소용에게 는 또한 srange 이중 qoutes 사람들을 두지 않는 ActiveSheets를 수행합니다. 따라서 double qoutes에 srange을 넣으면 값이 아닌 문자열로 처리됩니다.