2012-08-09 4 views
6

다음 하위 코드에서 특정 열만 (하이퍼 링크의 하위 문자열 바꾸기)을 특정 열로 제한하려고합니다. 나는 내 아이디어가 빠른 수정을 위해 무엇을 쓰는지를 기록했다. 그러나 을 Range 변수로 저장된 셀의 열 값을 가져 오는 좋은 방법으로 찾을 수 없습니다.범위의 열 인덱스를 얻으십시오

If MyCell.Column = 1 Then ... 

이 절대 열 (스프레드 시트의 열 A), 범위가 아닌 첫 번째 열은 다음과 같습니다

Dim MyDoc As Worksheet 
Dim MyCell As Range 
    ... 
     For Each MyCell In MyDoc.UsedRange 
      If MyCell.Hyperlinks.Count > 0 Then 
       '* if mycell's columnnumber = 1 then 
        LinkURL = MyCell(1).Hyperlinks(1).Address 
        FindPos = InStr(1, LinkURL, FindString) 
        If FindPos > 0 Then 'If FindString is found 
         ReplaceLen = Len(FindString) 
         URLLen = Len(LinkURL) 
         PreStr = Mid(LinkURL, 1, FindPos - 1) 
         PostStr = Mid(LinkURL, FindPos + ReplaceLen, URLLen) 
         NewURL = PreStr & ReplaceString & PostStr 
         MyCell(1).Hyperlinks(1).Address = NewURL 'Change the URL 
        End If 
       '* End if 
      End If 
     Next MyCell 

답변

11

당신은 단순히 Column 속성을 호출 할 수 있습니다.

firstCol = yourRange.Cells(1, 1).Column 
If MyCell.Column = firstCol Then ... 
+0

+ 1을 그리고 네 .. 축하를 20K에) 문제에 대한 –

+0

정답을하지만 : 당신이 범위의 첫 번째 열이 있는지 확인하려면

, 당신은 먼저 계산할 수 있습니다 특별한 경우에 저를 도와주지 않았습니다. 그러나 나는 그것을 고칠 수있는 또 다른 방법을 찾았을지도 모른다. 도움을위한 Thx : –

+0

@SiddharthRout 예이 감사합니다! 너는 멀지 않다. ;-) – assylias

관련 문제