2012-08-09 15 views
6

W następnym podkodzie chcę ograniczyć to, co robi (zastępując podciąg w hiperlinkach) do konkretnej kolumny. Napisałem w "* jaki jest mój pomysł na szybką naprawę. Ale nie mogę znaleźć dobrym sposobem na uzyskanie wartości kolumny komórki zapisanej jako zmienna Range.pobierz indeks kolumny z zakresu

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 

Odpowiedz

11

Możesz po prostu zadzwonić właściwość Column:

If MyCell.Column = 1 Then ... 

Jest to kolumna absolutny (kolumna A w arkuszu kalkulacyjnym), a nie pierwsza kolumna zakresu.

Jeśli chcesz sprawdzić, czy jest to pierwsza kolumna zakresu, można najpierw obliczyć:

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

+ 1 i tak .. Gratulacje na 20k;) –

+0

poprawną odpowiedź na pytanie, ale nie pomogło mi w konkretnym przypadku. Ale mógłbym znaleźć inny sposób, aby to naprawić. Thx za pomoc :) –

+0

@SiddharthRout Yeaa Dzięki! Nie jesteś daleko w tyle ;-) – assylias

Powiązane problemy