2016-05-06 24 views
3

VBAでの書き方については完全な初心者です。私は問題なしで問題を解決するために使用できる答えを探していました。私は関連するいくつかの質問を見たことがありますが、私は適用できませんでした。ExcelのVBAマクロ - 選択したセルで実行

私は、連結機能を使用して、先行する0を単に数値に追加するという記録されたマクロを持っています。相対参照を使用しているので、マクロは列Aで選択されたセルで実行されます。これは、各セルに先行ゼロを1つずつ追加したい場合に機能します。しかし、私は単に列Aのセルを選択することができるようにしたいと思います。先行する0を追加して、選択したすべてのセルに対して一度にマクロを実行します。どんな助けでも大歓迎です!

Sub leadingzerotake2() 
ActiveCell.Offset(0, 10).Range("A1").Select 
ActiveCell.FormulaR1C1 = "=CONCATENATE(""0"",RC[-10])" 
ActiveCell.Select 
Selection.Copy 
ActiveCell.Offset(0, -10).Range("A1").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
ActiveCell.Offset(0, 10).Range("A1").Select 
Application.CutCopyMode = False 
Selection.ClearContents 
ActiveCell.Offset(0, -10).Range("A1").Select 
End Sub 

ありがとうございます!

答えて

0

単にワークシートのモジュールにこのコードを置く -

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If Target.Column = 1 And Target.Count < 1000 Then 
    For Each cell In Target.Cells 
     'run your fuction here 
    Next 
End If 

End Subの

この機能は本当に長い時間を実行potentiolyことができるので、私は1000細胞の選択の最大にこの操作を制限されてきました。 あなたが好きな場合は、この部分を削除することができます。あなたがあるSimpy選択したセルの内容に先行ゼロを追加したい場合は

ところで、私は単純に入れてしまうでしょう -

cell.Value = "0" & cell.Value 
関連する問題