2016-04-03 67 views
1

我有一個在他們的名字細胞我如何將單元格轉換爲excel(2016)中的按鈕來創建計數器計數器?

 ------------------- 
    |id | name  | 
    ------------------- 
    | 1 | name_1 | 
    ------------------- 
    | 2 | name_2 | 
    ------------------- 
    | 3 | name_3 | 
    ------------------- 
    | 4 | name_4 | 
    ------------------- 
    | 5 | name_5 | 
    ------------------- 

我想點擊細胞在名稱列,它會在相鄰小區incriment 1例如

 ---------------------------- 
    |id | name  | Count | 
    ---------------------------- 
    | 1 | name_1 | 20 | 
    ---------------------------- 
    | 2 | name_2 | 34 | 
    ---------------------------- 
    | 3 | name_3 | 12 | 
    ---------------------------- 
    | 4 | name_4 | 50 | 
    ---------------------------- 
    | 5 | name_5 | 56 | 
    ---------------------------- 

我不不想使用旋轉按鈕或經過約1000行將每個單元格轉換爲物理按鈕,然後爲每個按鈕編寫代碼。

有沒有更容易做到這一點,我該怎麼做?

+0

怎麼樣做一個1000按鈕,但分配每個按鈕相同的代碼。也就是說,當按下按鈕時,將單元格的值向右增加1? –

+0

我只知道如何編碼每個按鈕來做我想做的事,但不是一個全功能代碼,它可以像所有按鈕一樣工作...... –

+0

您可以讓一個單元格**像**一個按鈕一樣工作,超鏈接和使用事件宏來執行必要的功能。 –

回答

3

這裏是一個超鏈接的解決方案:

首先在Name列選擇單元的塊,然後運行該短宏:

Sub HyperActive() 
    Dim nm As String 

    nm = ActiveSheet.Name & "!" 
    For Each r In Selection 
     t = r.Text 
     addy = nm & r.Address(0, 0) 
     ActiveSheet.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _ 
      addy, TextToDisplay:=r.Text 
    Next r 
End Sub 

這將文本轉換成活動超鏈接(這些超鏈接唐實際上去任何地方!)

然後在工作表代碼區域事件宏

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    Dim r As Range 

    Set r = Range(Target.SubAddress) 
    r.Offset(0, 1).Value = r.Offset(0, 1).Value + 1 
End Sub 

它是事件宏碰撞相鄰的單元格。

+0

像魔術一樣!謝謝 –

相關問題