2016-04-27 22 views
0

現在、テーブル内のデータ列をループし、そのセルが選択されている場合は自分のスクリプト/マクロを実行するコードを変更するコードを実行するExcel vba決定テーブル内でセルが選択されている場合にスクリプトが実行される

Dim tb As Listobject 
Dim Currcell, i As Integer 

Set tb = Worksheets("Sheet1").ListObjects("Table1") 

For i = 1 To 60 
    Currcell = tb.DataBodyRange.Cells(i, tb.ListColumns(1).Index) 
    If Currcell = Selected Then 
    ' Run My Script 
End If 
Next i 

私はコードが粗いことを知っていますが、うまくいけば、セルが選択されているかどうかを表すために "Currcell"というアイデアを得ることができます。

答えて

1

inadvanceおかげで私はあなたがその列のいずれかの選択したセルを介してループのみにロジックを変更することをお勧めしたい:私だけの作りに私のため

If Not Intersect(tb.DataBodyRange, Selection) Is Nothing Then 
    For Each cell In Intersect(tb.ListColumns(1).DataBodyRange, Selection).Cells 
     ' do something to cell 
    Next cell 
End If 
+0

おかげロリー私は後だほぼ正確に何を、いただきました!最良の方法をある特定の列で選択されたセルへのセルの変更は、テーブルに選択されているセルに変更が加えられます。私はそれを見逃しました。 – Windmill

+0

申し訳ありません。私はそれに応じてコードを修正しました。 – Rory

+0

感謝の気持ちでロリー – Windmill