![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_07.png?5a7ff87)
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(エクセル)
-
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
エクセルでチェックボックスをクリックしたらセルに数値を入力&消去
Excel(エクセル)
-
-
4
エクセルでチェックボックスを使用してシートの抽出及び一括印刷
Excel(エクセル)
-
5
Excel VBA、 別ブックの最終行セルへのコピー&値ペースト
Visual Basic(VBA)
-
6
エクセルVBAでチェックボックスにチェックを入れる
Excel(エクセル)
-
7
2つ以上のチェックボックスを連動させるには?
Excel(エクセル)
-
8
あるexcel表からチェックボックスに○のついた情報のみを別の表に抽出する方法
Excel(エクセル)
-
9
Excel2007 でのチェックボックスの名称
Visual Basic(VBA)
-
10
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
11
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
14
エクセル VBA CheckBox名に変数を使用
Excel(エクセル)
-
15
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
16
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
17
抽出したデータを修正して元のセルに上書きしたい
Access(アクセス)
-
18
VBA別シートの最終行の次行へ転記したい。
Visual Basic(VBA)
-
19
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
20
エクセル チェックボックスの連動の範囲指定
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
excelのマクロで該当処理できな...
-
Excel VBA 複数行を数の分だけ...
-
XL:BeforeDoubleClickが動かない
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel VBA リンク先をシート...
-
実行時エラー'1004': WorkSheet...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
【VBA】色のついたシート名を取得
-
シートが保護されている状態で...
-
別のシートを参照して計算する方法
-
VBAで指定シート以外の選択
-
Excelマクロのエラーを解決した...
-
Worksheet_Changeの内容を標準...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
VBAで大量のファイルをシート名...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
VBA 存在しないシートを選...
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
ブック名、シート名を他のモジ...
-
エクセルのシート名変更で重複...
-
ExcelのVBAのマクロで他のシー...
-
Excel VBA 複数行を数の分だけ...
-
エクセルのマクロについて教え...
-
VBA 最終行まで数式をコピーする
おすすめ情報