このようなマクロを作っています。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
Range("B2").Copy
Range("C2").Select
ActiveSheet.Paste
End Sub
しかし、このままだとループしてしまいます。
それで、B1:B2をコピーしてC1:C2に貼り付けています。
マクロの中で、ワークとチェンジのイベントを停止したり、開始できれば良いなと思っています。こんなこと、できますか。教えてください。
No.1
- 回答日時:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
Range("C2") = Range("B2")
End Sub
これだとイベントが発生しないと思うのですが。
ご回答、ありがとうございます。
Range("C2") = Range("B2") これで、イベントは発生しないのは確認しまのた。
でも、Range("B2")には入力規則(リストからの入力)が設定されており、それごとコピーしたいのです。
また、何か有ったら、教えてください。
No.2
- 回答日時:
また回答します。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
Range("B2").Copy Destination:=Range("C2")
End Sub
これでどうでしょう。
この回答への補足
何度も回答、ありがとうございます。
同じシート内だと、うまくいきました。B2に入力規則にリストの設定がしてあっても平気でした。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
Worksheets(2).Activate
Range("B2").Copy Destination:=Worksheets(1).Range("C2")
End Sub
これだと意図した通り動きません。下の様にすると、動きました。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
Call bbb
End Sub
以下、Moduleに書きました。
Sub bbb()
Worksheets(2).Activate
Range("B2").Copy Destination:=Worksheets(1).Range("C2")
End Sub
どうも、Sheetの方では、使えるコードに制約があるみたいです。
あとWorksheets(2).Range("B2")に入力規則を設定していると、動きが不安定になるようです。(イベントが発生しているのか、他の原因かわかりません。)
エクセルのバージョンは2000です。パッチはSP3まで当ててあります。
No.3ベストアンサー
- 回答日時:
私はエクセル2002を使用しています。
ちょっと不安定の原因が分からないので
最初の質問に立ち返って
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$2" Then Exit Sub
Range("B2").Copy
Range("C2").Select
Application.EnableEvents = False
ActiveSheet.Paste
Application.EnableEvents = True
End Sub
ペーストの時だけイベントを停止しています。
ご回答、ありがとうございます。
ヘルプを探しても、見つけることができませんでした。
今までは、一つ前のセルを退避させ、戻していたのが、無くなり、マクロを書くのが楽になりました。
今までの苦労はなんだったんでしょうか。
また何か有ったら、教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) VBAで重複した値のセルに色付けをしたい 1 2022/11/02 16:12
- Visual Basic(VBA) エクセル VBAについて 2 2022/05/16 16:33
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cmykで印刷すると暗くなる
-
弥生会計について詳しい方教えて
-
某家電量販店でのPC修理に係る...
-
EXCELで、「メモリ不足、正しく...
-
一太郎で封筒の宛名印刷したい...
-
numbersで累計を計算するには
-
Excelの二画面表示でマウスホバ...
-
Excelの見積書の消費税をブルタ...
-
パソコンからL判で印刷する方法
-
数量・会社ごとに異なる単価表...
-
弥生会計は毎年アップグレード...
-
エクセルみたいな無料表計算ソフト
-
無料エクセル→PC版エクセル
-
100パーセント不正会計がないよ...
-
「Windows7」サポート
-
カッコの2番で計算をした結果74...
-
弥生の青色申告の借方勘定科目...
-
決算書の特別会計の処理方法に...
-
勘定科目の給料賃金と専従者給...
-
自動釣銭機(富士電機ECS777)の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンからL判で印刷する方法
-
タックインデックスシール
-
弥生の青色申告オンライン を初...
-
一太郎で封筒の宛名印刷したい...
-
共有しているエクセルのファイ...
-
100パーセント不正会計がないよ...
-
勘定科目の給料賃金と専従者給...
-
男が新卒で経理の職に就くのは...
-
弥生会計について詳しい方教えて
-
EXCELで、「メモリ不足、正しく...
-
一太郎2022に古いATOKは使える...
-
出金伝票の書き方ですが、 勘定...
-
数量・会社ごとに異なる単価表...
-
Googleスプレッドシートで合計...
-
numbersで累計を計算するには
-
わかる方教えてください! 今日...
-
エクセルみたいな無料表計算ソフト
-
Excelの二画面表示でマウスホバ...
-
Excel IF構文内の計算式を有効...
-
パソコンで請求書や納品書の作...
おすすめ情報