获取范围的列索引

Øyv*_*nd 6 excel vba excel-vba

在下面的子代码中,我想限制它的作用(将超链接中的子字符串替换)到特定的列.我写了'*我的想法是什么,以便快速解决.但我似乎无法找到一个好方法来将单元格的列值保存为Range变量.

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
Run Code Online (Sandbox Code Playgroud)

ass*_*ias 11

您只需致电Column酒店:

If MyCell.Column = 1 Then ...
Run Code Online (Sandbox Code Playgroud)

这是绝对列(电子表格的A列),而不是范围的第一列.

如果要检查它是否是范围的第一列,您可以先计算它:

firstCol = yourRange.Cells(1, 1).Column
If MyCell.Column = firstCol Then ...
Run Code Online (Sandbox Code Playgroud)