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