부탁드립니다. Intersect 속성을 사용하여 두 범위가 교차하는지 확인합니다.
Function ArrayPos(sColLetter As String, vaRanges As Variant) As Long
Dim i As Long
Dim sh As Worksheet
Dim lReturn As Long
Set sh = Sheet1
For i = LBound(vaRanges) To UBound(vaRanges)
If Not Intersect(sh.Columns(sColLetter), sh.Columns(vaRanges(i))) Is Nothing Then
lReturn = i
Exit For
End If
Next i
ArrayPos = lReturn
End Function
그것은 예를 들어 직접 실행 창에서 다음과 같이 사용되는
?arraypos("M",array("B:J","K:W"))
1
당신은 인수가 범위로 변환 할 수 있는지 확인하기 위해 검사를 몇 가지 오류를 추가 할 것입니다,하지만 난 것을 떠날거야 너에게. 콜론에 범위 문자열을 분할하고 문자의 ASCII 값을 비교하여 Range 개체없이이 작업을 수행 할 수 있습니다.
'배열 객체 또는 당신은 우리에게 컬럼에 데이터를 비교 예를 준 Range'? 당신이 우리와 공유 할 수있는 어떤 코드라도 시도 했습니까 ?? –