2017-02-01 4 views
0

Chr 기능을 사용하여 "E1 ~ E4"셀을 선택해야합니다.Chr을 사용하여 범위를 선택하는 방법

다음 코드 줄을 사용하려고했지만 일부 문제가 있으며 코드가 컴파일되지 않습니다.

런타임 오류 '1004'가 나타납니다. '_Global'개체의 '범위'메서드가 실패했습니다.

Dim num2 As Integer 
num2 = 69 
Range("Chr(num2) & 1 : Chr(num2) & 4").Select 

도와주세요. 감사합니다 :)

+4

'Chr (num2) & 1 & ": & Chr (num2) & 4 ". 그러나 진지하게, 이것을하지 마십시오.'.Cells'와 숫자 인덱스를 대신 사용하십시오. Excel이 'Range' 호출의 반대쪽에서 역전을 수행 할 것이라고 엄청난 파싱을하고 있습니다. – Comintern

+0

또한 왜'.Select'를 "사용"할 필요가 있습니까? 가능하면 언제든지'.Select' /'.Activate' 사용을 피하는 것이 가장 좋습니다 (https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros). 또한 @ Comintern의 요지로, 주요 업무/이슈를 확장 할 수 있습니까? 우리가 [XY 문제] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – BruceWayne

+1

@Comintern을 당신의 교정에 너무 많이 사용하고있는 것처럼 들립니다. & Chr (num2) & "4"''Chr (num2) & 4' 또는 Chr (num2) & 1 : "& Chr (num2) &"4 " –

답변

0

잘못된 연결로 인해 작동하지 않습니다. 범위 문자열을 별도의 변수로 저장하여 다음과 같이 디버깅하는 것이 좋습니다.

Sub Test() 
Dim num2 As Integer 
Dim strRange As String 

    num2 = 69 
    'Store range string as a variable 
    strRange = Chr(num2) & "1:" & Chr(num2) & "4" 
    'Pass the variable into the Range function 
    Range(strRange).Select 

End Sub 
관련 문제