: 어딘가에 시트라는 시트 2에서 나는 다음이 이미지를 보려면 클릭하세요
TEXTJOIN 함수를 사용하여 A 열의 값을 연결합니다. B100의 문자열은 변수 S입니다 (코드 참조).
내 매크로의 메소드에 대한 입력으로 이것을 사용하려고합니다. 다음은 모듈의 코드 스 니펫입니다.
Dim ListofSheets, WorkingSheet As Worksheet
Dim C0, C1 As Range
Dim S As String
Dim WholeRange As Range
Set ListofSheets = Sheets("Sheet2")
...
Set C0 = WorkingSheet.Range(PanelColumn & StartingRow & ":" & PanelColumn & lRow)
Set C1 = WorkingSheet.Range(LoadCaseColumn & StartingRow & ":" & LoadCaseColumn & lRow)
S = ListofSheets.Cells(100, 2).Value
Set WholeRange = Union(S)
WholeRange.Copy
End Sub
C0 및 C1은 코드에서 계산되며 다음 범위입니다.
C0= C7:C310
C1= D7:D310
위 코드를 실행하면 Set WholeRange = Union(S)
"컴파일 오류 : 형식 불일치"가 있는 줄에 오류가 발생합니다.
나는 Set WholeRange = Union(C0, C1)
성공적으로 작동하는 것을 시도했지만 실제로 선택할 수있는 더 많은 변수가 있기 때문에 이것을 사용하고 싶지 않습니다.
내 질문은 문자열을 매개 변수로 전달할 수있는 이유는 무엇이며 어떻게 문제를 해결할 수 있습니까?
주의 : 여기에 표시되지 않은 코드에 범위가 두 개 이상 있습니다. 스크립트는 사용할 범위를 결정합니다. 이후 2 개 이상의 범위 내가 사용하고, 입력 할 필요가 Union
의 대신 방법을 Range
방법
@Yorik
—
레이 Juna
INDIRECT
은 워크 시트 함수입니다. 나는 당신이 사용하려고 생각합니다 RANGE(S)
.
@ ReyJuna 질문에 이것을 추가하는 것을 잊었지만 여러 범위 (4+)가 계산되고 있습니다. 위의 두 개는 단지 예일 뿐이므로 입력 매개 변수가 두 개 이상이므로 Range를 사용할 수 없습니다. 내 원래 질문이 편집되었습니다.
—
Kavinda JD
S
변수 이름을 나타 내기 위해 문자열 인을 사용 하고 있습니다. UNION
적어도 두 개의 범위 인수가 필요합니다.
위의 결과는 값
—
Kavinda JD
S
이 C0,C1
-두 개의 인수 임을 나타냅니다 . 문제는 그것이 단지 하나의 주장이라고 생각합니다.
S
문자열? 사용하면 어떻게됩니까Union(INDIRECT(S))
?