programing

문자열에서 VBA 범위

css3 2023. 7. 9. 12:36

문자열에서 VBA 범위

이건 좀 바보같지만, 저는 잠시 이 간단한 진술에 갇혀 있었습니다.

    Dim range1 as Range
    Dim mysheet as String
    Dim myrange as String

    mysheet = "Sheet1"
    range = "A1:A10"

range1 = Worksheets(mysheet).Range(myrange)

저는 인터넷에서 찾은 모든 솔루션을 테스트했습니다. 를 들어 이것, 이것, 그리고 이것. 하지만 아무것도 없습니다.

1004 "응용 프로그램에 의해 정의된 오류" 또는 "객체 변수 또는 설정되지 않은 상태"라는 오류가 항상 표시됩니다.

다음을 시도해 보았습니다.

range1 = ThisWorkbook.Worksheets(mysheet).Range(myrange)

range1 = ActiveWorkbook.Worksheets(mysheet).Range(myrange)

range1 = Sheets(mysheet).Range(myrange) (and the combinations above)

range1 = Worksheets(mysheet).Range(Cells(1,1), Cells(1,10)) (and the combinations with This/Active workbook)

그리고.

with This/ActiveWorkbook
range1 = .Worksheets(mysheet).Range(myrange)
end with

아무도 효과가 없었습니다.

이건 정말 바보같은 일이지만, 나는 지금 한동안 갇혀있었습니다 :s. :s

누가 나를 도와줄 수 있나요?

잘 부탁드립니다.

안부 전합니다,

Set을 사용하여 개체를 할당해야 합니다.

Set range1 = Worksheets(mysheet).Range(myrange)

당신이 꼼짝 못했다는 것을 이해하고 약간의 변화를 제안합니다.

rngStr = corrSht.Range("T" & 63 + iterCnt).Address               
*** Set strRng = Range(rngStr)***

예, ****를 사용하여 문자열을 '범위로' 지정...하지만 그것은 제가 앞 줄의 범위 문자열에 "주소"를 추가하기 전까지는 작동하지 않았습니다.따라서 rngStr 위에 커서를 놓으면 범위 내용이 아닌 범위가 표시됩니다.저는 VBA가 이렇게 매우 건방지고 짜증이 납니다.때때로 "방법"이 아닌 "이유"에 대해 더 잘 설명했으면 좋겠습니다.

언급URL : https://stackoverflow.com/questions/10403794/vba-range-from-string