2012-08-09 3 views
6

Trong mã con dưới đây, tôi muốn giới hạn những gì nó làm (thay thế chuỗi con trong siêu liên kết) thành một cột cụ thể. Tôi đã viết trong '* ý tưởng của tôi là để sửa chữa nhanh chóng. Nhưng tôi dường như không thể tìm thấy một cách hay để lấy giá trị cột của một ô được lưu dưới dạng biến Phạm vi.lấy chỉ mục cột của một phạm vi

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 

Trả lời

11

Bạn chỉ có thể gọi Column tài sản:

If MyCell.Column = 1 Then ... 

Đây là cột tuyệt đối (cột A của bảng tính), không phải là cột đầu tiên của dãy núi này.

Nếu bạn muốn kiểm tra xem nó là cột đầu tiên của dãy núi này, trước tiên bạn có thể tính toán nó:

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

+ 1 Và vâng .. Congrats trên 20k;) –

+0

câu trả lời đúng cho câu hỏi, nhưng không giúp tôi trong trường hợp cụ thể. Nhưng tôi có thể đã tìm ra cách khác để sửa nó. Thx để được giúp đỡ :) –

+0

@SiddharthRout Yeaa Cảm ơn! Bạn không xa phía sau ;-) – assylias