

Excel チェックボックスにチェックが付いた複数のセルを別のシートにコピー・貼り付けするマクロを教えて下さい。
●マクロにしたい作業
シート1に
A1から下に職員名(150名)が記載されており、C1から下に職員名の数だけチェックボックスがあります。
シート1のチェックボックスにチェックが入っている行の職員名をコピーし、シート2のA1から下に貼り付けたいと思っています。
シート1の職員名が入力されているセルはハイパーリンクで同じブック内のシート(例: セルの職員名が"田中"であれば、同じ名前のシート名"田中")に飛ぶようになっており、その仕様もシート2に引き継ぎたいです。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
チェックボックスは何種類かありますが、どの種類?あるいはどういう手順で作成したもの?
下記のフォームコントロールで作成したチェックボックスで、
Be COOL Users - チェックボックスの作り方
https://www.becoolusers.com/excel/checkbox.html
チェックボックスの内容がD1から下にTRUE/FALSEで表示されているなら、
E1:=IF($D1, $A1, "")
以下コピペ。
ってしといて、E列をコピー、値を貼り付けとか。
コピー、貼り付けするのを絶対座標でマクロ記録してれば、繰り返し実行できるハズ。
> ハイパーリンクで同じブック内のシート(~)に飛ぶようになっており、
名前とシート名が一致してるなら、HYPERLINK関数で実装できるハズ。
よねさんのWordとExcelの小部屋 - HYPERLINK関数の使い方:Excel関数
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
こんにちは。
回答ありがとうございます。フォームコントロールでチェックボックスを作成しています。分かりづらい説明ですみません。
チェックボックスの内容がD1から下にTRUE/FALSEで表示されていないため、そこから躓いていました。1つ1つセルのリンクを設定していたのですが、同様の作業が必要なブックが多数あり途方に暮れています。
一括でチェックボックスの内容がD1から下にTRUE/FALSEで表示する方法がありますでしょうか??
No.2
- 回答日時:
こんにちは、
>Excel チェックボックスにチェックが付いた複数のセルを別のシートにコピー・貼り付けするマクロ
チェックボックスにチェックを付けた時に実行するのは、問題が生じるのでしょうか?
チェックを付けた時であれば、チェックボックスが起点になるので比較的容易ですが、、纏めて行う場合
少々判り難くなります。
不明な点などもありますが、補足をいただいても今日は応じられそうにないので、、実行サンプルを下記に記載します。
チェックボックスは、フォームコントロールで、ペースト先C列に作成されるチェックボックスは貼り付け時に削除します。
ご質問のシート1、シート2がシート名です。
Sub sample()
'フォームコントロール
Dim Lc As Long
Dim celLeft As Long, celTop As Long
Dim celRight As Long, celBottom As Long
Dim Rng As Range
Dim objCB As Object, DelCB As Object
With Sheets("シート1")
For Each Rng In .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
Lc = .Cells(Rng.Row, .Columns.Count).End(xlToLeft).Column
With Rng.Offset(, 2)
celTop = .Top
celLeft = .Left
celBottom = .Top + .Height
celRight = .Left + .Width
End With
For Each objCB In .CheckBoxes
If celTop <= objCB.Top And celLeft <= objCB.Left And _
celBottom >= objCB.Top + objCB.Height And celRight >= objCB.Left + objCB.Width Then
If objCB.Value = xlOn Then
'メイン処理
With Sheets("シート2")
Rng.Resize(, Lc).Copy .Cells(Rows.Count, 1).End(xlUp).Offset(1)
For Each DelCB In .CheckBoxes
If Not Intersect(DelCB.TopLeftCell, .Cells(Rows.Count, 1).End(xlUp).Offset(, 2)) _
Is Nothing Then DelCB.Delete: Exit For
Next
End With
Exit For
End If
End If
Next
Next
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで、チェックボックスにチェックをいれた行のデータのみを別シートに転記するには
Excel(エクセル)
-
あるexcel表からチェックボックスに○のついた情報のみを別の表に抽出する方法
Excel(エクセル)
-
Excelでチェックボックスを使った列のコピー方法
その他(Microsoft Office)
-
-
4
エクセルでチェックボックスを一列にたくさんつくり、各行にリンク先のセルを設定する場合、どのようにした
Excel(エクセル)
-
5
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
6
エクセルでマクロを使わずに複数のチェックボックスに一括チェックするコマンドボタンを作れますか?
Excel(エクセル)
-
7
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
8
【VBA】シート上の複数のチェックボックスのうちどれか一つでも変更した場合のイベント
Visual Basic(VBA)
-
9
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
10
特定のセルに数値が入っているシートのみ印刷する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
XL:BeforeDoubleClickが動かない
-
excel マクロでシート名取得
-
実行時エラー1004「Select メソ...
-
VBAで同じシート名のコピー時は...
-
ExcelVBA:複数の特定のグラフ...
-
【ExcelVBA】動的にボタン、ボ...
-
エクセルのシート名変更で重複...
-
エクセルVBA Ifでシート名が合...
-
vba findnext で検索し一致した...
-
エクセルのマクロについて教え...
-
【Excel VBA】Worksheets().Act...
-
userFormに貼り付けたLabelを変...
-
ハイパーリンクがうまくできま...
-
PerlでExcelのワークシートを同...
-
【ExcelVBA】全シートのセルの...
-
VBA オートフィルター繰り返し
-
VBAでシート挿入を禁止したい。
-
【excel・vba】特定文字列の1行...
-
VBAエクセルの非アクティブシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
実行時エラー'1004': WorkSheet...
-
ブック名、シート名を他のモジ...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
ExcelVBA:複数の特定のグラフ...
-
エクセルのシート名変更で重複...
-
IFステートの中にWithステート...
-
VBA 検索して一致したセル...
-
ExcelのVBAのマクロで他のシー...
-
XL:BeforeDoubleClickが動かない
-
別のシートから値を取得するとき
-
エクセルVBA Ifでシート名が合...
-
エクセル・マクロ シートの非...
-
シートが保護されている状態で...
-
シート削除のマクロで「delete...
おすすめ情報