2015-02-25 14 views
8

Birçok veri satırı olan bir e-tablom var. Bu satırdaki verileri kullanarak bir makro çalıştıracak bir hücreyi tıklayabilmek istiyorum. Satırların sayısı her zaman değişeceğinden, her satır için bir köprü en iyi yol olabilir.Excel'de, vba makrosu çalıştırmak için bir köprü kullanabilir miyim?

ROW MeterID Lat Long ReadX ReadY ReadZ CoeffA CoeffB CoeffC 
    2 10f62gs 34.1 33.3 102.2 231.3 382.2 4.34 22.1 0.002 
    3 83gs72g 34.4 31.4 109.2 213.1 372.1 2.23 12.7 0.023 
    4 43gS128 33.3 32.2 118.8 138.7 241.8 1.94 5.08 0.107 

bir köprü tıklayıp köprü tıklanan hücrenin satır bilmek mümkün olmaktan bir vba makro çalıştırmak için bir yolu var mı?

cevap

9

Bu

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
     MsgBox "Row " & ActiveCell.Row & " is clicked" 
End Sub 
5

Evet, bunu yapmak için aşağıdaki basit adımları izleyin:

Adım 1. Köprü Adım 2. Righ tıklayın yapmak istiyorum Nerede Cell Seç -> Köprü ... Adım 3. Enter Köprüyü yaptığınız ve Bağ'a Ad verdiğiniz aynı hücrenin adresi. Tamam bir köprü

Adım 4. tıklayın etmek

Makro Ata'yı: Aşağıdaki resme bakınız. Adım 5. HyperLink oluşturulur.

Not: Bu Köprü üzerine tıklandığında, aynı Hücre Adresine atanmış olduğundan hiçbir şey yapmayacaktır. Şimdi

Adım 6. Alt + F11 Adım 7. Kopya biz Hücre Adresi karşılaştırdığınız Üstü Kanunu Bir Köprü

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    'Check if the Target Address is same as you have given 
    'In the above example i have taken A4 Cell, so I am 
    'Comparing this with $A$4 

    If Target.Range.Address = "$A$4" Then 
     'Write your all VBA Code, which you want to execute 
     'Or Call the function or Macro which you have 
     'written or recorded. 
     MsgBox "Write your Code here to be executed" 
     Exit Sub 
    End If 
End Sub 

tıklandığında aşağıda Kod

Çalıştır Excel Makro yapıştırın ve ardından bir Kod veya İşlev Kümesini Yürütme. Bunu yapmanın başka bir yolu da var. Hedef Adı ile karşılaştırabilir ve Kodu yürütebiliriz. Yukarıdaki Örnekte, Köprü Hedefinin Adını MyMacro olarak vermiş olduğum gibi.

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    'Check if the Target Name is same as you have given 
    'In the above example i have given the Name of the HyperLink 
    'is MyMacro. 

    If Target.Name = "mymacro" Then 
     'Write your all VBA Code, which you want to execute 
     'Or Call the function or Macro which you have 
     'written or recorded. 
     MsgBox "Write your Code here to be executed" 
     Exit Sub 
    End If 
End Sub 
0

Doğrusu her hücre için bir köprü oluşturarak güçlük geçmesi daha düşünmek için çalışacak, sen Activecell özelliğini başvuran bir makro oluşturarak daha iyi olurdu. Ardından, çalışacak makro için bir klavye kısayolu oluşturun. Bunu yapmak için:

  1. ALT + F8
  2. Select Options
  3. may Hyperlink_Follow olayı kullanarak bir makro tetikleyen

Zaten köprüler varsa, tuşu kısayolunu olmak için bir anahtar seçin en iyi ol. Değilse, benim tavsiyemi düşünün.

İlgili konular