

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
フォームのチエックボックスにチエックを入れるた行のみ印刷出来るマクロ
Excel(エクセル)
-
6
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
7
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
8
エクセルでマクロを使わずに複数のチェックボックスに一括チェックするコマンドボタンを作れますか?
Excel(エクセル)
-
9
エクセルでチェックボックスを使用してシートの抽出及び一括印刷
Excel(エクセル)
-
10
特定のセルに数値が入っているシートのみ印刷する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
【ExcelVBA】全シートのセルの...
-
実行時エラー'1004': WorkSheet...
-
エクセルで通し番号を入れてチ...
-
VBA 検索して一致したセル...
-
IFステートの中にWithステート...
-
VBA 存在しないシートを選...
-
実行時エラー1004「Select メソ...
-
エクセルVBA Ifでシート名が合...
-
ユーザーフォームに入力したデ...
-
Excel VBA で自然対数の関数Ln...
-
【Excel VBA】Worksheets().Act...
-
VBA 指定した回数分、別シート...
-
エクセル VBA シートのコピー
-
エクセルの絶対参照の一括操作...
-
VBAで指定シート以外の選択
-
【VBA】指定した検索条件に一致...
-
エクセルのシート名変更で重複...
-
【VB6】EXCELのシート名を変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
Excel チェックボックスにチェ...
-
VBA 検索して一致したセル...
-
エクセルで通し番号を入れてチ...
-
シートが保護されている状態で...
-
【VBA】特定の文字で改行(次の...
-
ExcelのVBAのマクロで他のシー...
-
Worksheet_Changeの内容を標準...
-
EXCELVBAを使ってシートを一定...
おすすめ情報