セルをダブルクリックで別シートへ抜き出ししたい
エクセルで販売個数の一覧(売上一覧)を確認しながら、発注量を決める運用をしている
企業様も多いのではないでしょうか。
ダブルクリックで別シートへ該当商品を抜き出し、リストを作成できます。
BeforeDoubleClickを利用して、ダブルクリックで抜き出ししましょう。
特定のセルがダブルクリックされた場合に処理を実行する【BeforeDoubleClick】【ExcelVBA】
セルダブルクリックで別シートへコピペするサンプルコード
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim ws As Worksheet Dim lastRow As Long Set ws = ThisWorkbook.Worksheets("Result") '("発注リスト") '■コピペ先の最終行+1を取得 lastRow = Call_LastRowWs(1, ws) + 1 '■コピペ Call Rows(Target.Row).Copy(ws.Rows(lastRow)) ■フォーカスをダブルクリック位置に戻す (コピーでセレクト情報が変わる為後処理) Target.Select Cancel = True End Sub
今回はダブルクリックですが、シングルクリックで処理する事も可能です。
セルクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】
注意事項
- 標準モジュールでは動作しません。ワークシートモジュールに記載しましょう。
- ws とワークシート変数を指定しています。初心者の方は必須で覚えましょう。
マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する - 上記コードだけでは動きません。最終行+1の値は以下の記事参照ください。
ExcelVBAマクロ-他ブック他シートの「最終行」「最終列」取得処理をパーツ化する
関連記事
特定のセルをクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】
特定のセルをダブルクリックした場合に処理を実行する【BeforeDoubleClick】【ExcelVBA】
コメント