0
私はVBAを全く新しくしているため、私が何をしているのかわからない... 以下は私の問題と問題のコードの説明です。コードをコピー貼り付け後にリストにマクロが表示されない
:、私は明らかにこれでトリックを行うコードを発見した今値として貼り付け、任意のセルを選択し、新しいシートを選択し コピークリックされたセル:私はもともとやりたいこと
このでした
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns("A")) Is Nothing Then
Cancel = True
If Target.Row > 1 And Len(Target.Value) Then Worksheets("S11").Range("C2").Value = Target.Value
End If
End Sub
私は「明らかに」私はそれをテストすることができないと言う。ここでの問題は、次のとおりです。
- Excelマクロ有効ブック
- はALTのQをクリックしたとして、私は、ブックを保存した - 私は、ALT F8は、それを実行するために戻って私のワークブックへ
- に行く - しかし、何もありません...空白....
私は何が欠けていますか?
のAlt-F8実行することができますのみ表示マクロのように使用します。 'worksheet_change'イベントは' Private'なので、publicにアクセスすることはできません。また、他の何かによって呼び出されない限り、あなたには渡せないパラメータが必要です。配置したシートのコードウィンドウを調べることで、再度存在するかどうかを確認することができますが、セルA1以外の列Aに空白以外の値を置くたびに実行する必要があります。 – YowE3K
上記のマクロは、ワークシートオブジェクトに配置されるように設計されており、そのシート上で選択されたセルが変更された場合に実行されます。また、新しくアクティブなセルが列Aにある場合は、何もしないように見えます。 'Cancel'を' True'に設定します。これは 'Event'で何もしません。それが列Aにあれば、それは 'Row' 1にないことをチェックし、空ではない。もしそうなら、新しくアクティブなセルに格納されている値を 'S11!C2'にコピーします。それは実際にあなたが望むものですか? – CLR
ありがとうございました...それは働いた:) –