お世話になります。チェンジイベント初心者です。
同一BOOK内の特定のコラムのセルを選択した場合に、自動的に他のシートの特定のセルにデータを転記させたいのですが、どう書けばよいのか分かりません。添付の画像と下記マクロをご覧になって下さい。
-マクロ-
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If 1 = ActiveCell.Column Then
Worksheets("01").Cells(ActiveCell.Row, 3) = Cells(ActiveCell.Row, 1)
Worksheets("01").Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row, 2)
End If
End Sub
メインのシートは[01]です。このシートのC4を選択し、次に[02]のA列にあるセルを選択すると、[02]のA列・B列のデータがC4・D5に転記されるようにしたいのですが、画像にあります通り[02]のA5を選択してしまうと、[01]のC5・D5に転記されてしまいます。
どのようにすれば、[01]でアクティブにしておいた行の3列目、4列目に転記が行われるのでしょうか?
よろしくご指南くださいませ。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんなのは如何?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If 1 = Target.Column Then
Target.Resize(1, 2).Copy
Worksheets("01").Paste
Application.CutCopyMode = False
End If
End Sub
ただのコピペです
No.2
- 回答日時:
シート01とシート02の両方にマクロを設定するとよいでしょう。
シート01では次のようにします。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If 3 = ActiveCell.Column Then
Range("G1") = ActiveCell.Row
End If
End Sub
C列で選択したときの行番号をたとえばG1セルに記録しておきます。
シート02では次のようにします。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If 1 = ActiveCell.Column Then
n = Worksheets("Sheet1").Range("G1")
If n = "" Then Exit Sub
Worksheets("Sheet01").Cells(n, 3) = Cells(ActiveCell.Row, 1)
Worksheets("Sheet01").Cells(n, 4) = Cells(ActiveCell.Row, 2)
End If
End Sub
なお、たとえば前の操作でA5セルがアクティブセルになっている状態ですとそのままではマクロが実行されません。一旦別のセルを選択してからA5セルを選択することでマクロが実行されます。
No.1
- 回答日時:
ActiveCellがシート02を参照しているためです。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If 1 = ActiveCell.Column Then
Worksheets("01").Activate
n = ActiveCell.Row
Worksheets("02").Activate
Worksheets("01").Cells(n, 3) = Cells(ActiveCell.Row, 1)
Worksheets("01").Cells(n, 4) = Cells(ActiveCell.Row, 2)
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
-
4
エクセルVBA シートモジュールにチェンジイベントを複数設定する方法を教えて下さい。 例えば、B列に
Visual Basic(VBA)
-
5
エクセル マクロの実行について
Excel(エクセル)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
EXCEL VBA 複数のシートに同じイベントプロシジャを書く場合
Excel(エクセル)
-
10
Excelでデータの抽出&別シート転記をマクロで行いたい(VBA) その2
Excel(エクセル)
-
11
private subモジュールを他のモジュールから呼び出して使う方法を教えてください(-.-)
Visual Basic(VBA)
-
12
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Aというブックの1というシート...
-
Excelの「0」だけ非表示、小数...
-
エクセルで条件に一致したセル...
-
Rangeメソッドは失敗しました。...
-
日付が未入力の際はゼロか、空...
-
別シートのセルを絶対参照にする
-
複数シートの同じセル内容を1シ...
-
エクセルで1月0日と表示される!!
-
ExcelでTODAY関数を更新させな...
-
シートAで横に並んだ項目→シー...
-
シート参照で変数を使いたい(EX...
-
エクセルのセルに、マウスで選...
-
エクセルで、勤務表から 日付...
-
Excelシートの保護時にデータの...
-
エクセルのシート間で連続した...
-
(Excel)あるセルに文字を入力...
-
VBAで、セル(Range)のオブジ...
-
エクセルVBA テキストボックス
-
エクセルのルビがついたセルを...
-
エクセルの参照先が固定されて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
(Excel)あるセルに文字を入力...
-
別シートのセルを絶対参照にする
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
シート参照で変数を使いたい(EX...
-
エクセルで複写のように自動入...
-
Excelで複数シートの選択セルを...
-
INDIRECTを使わず excelで複数...
-
ExcelでTODAY関数を更新させな...
-
式の説明をお願いします。
-
excelでハイパーリンクになって...
-
エクセルのルビがついたセルを...
-
Excelでスクロールすると文字が...
-
エクセル ハイパーリンクで画像...
おすすめ情報