Excel チェックボックスにチェックが付いた複数のセルを別のシートにコピー・貼り付けするマクロを教えて下さい。
●マクロにしたい作業
シート1に
A1から下に職員名(150名)が記載されており、C1から下に職員名の数だけチェックボックスがあります。
シート1のチェックボックスにチェックが入っている行の職員名をコピーし、シート2のA1から下に貼り付けたいと思っています。
シート1の職員名が入力されているセルはハイパーリンクで同じブック内のシート(例: セルの職員名が"田中"であれば、同じ名前のシート名"田中")に飛ぶようになっており、その仕様もシート2に引き継ぎたいです。
よろしくお願い致します。
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
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で表示する方法がありますでしょうか??
お探しの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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセルで、チェックボックスにチェックをいれた行のデータのみを別シートに転記するには
Excel(エクセル)
-
エクセルでチェックボックスをクリックしたらセルに数値を入力&消去
Excel(エクセル)
-
エクセルでチェックボックスを使用してシートの抽出及び一括印刷
Excel(エクセル)
-
-
4
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
5
エクセルVBAでチェックボックスにチェックを入れる
Excel(エクセル)
-
6
Excel2007 でのチェックボックスの名称
Visual Basic(VBA)
-
7
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
8
Excel VBA、 別ブックの最終行セルへのコピー&値ペースト
Visual Basic(VBA)
-
9
エクセルのチェックボックスを保護対象から外すには
Windows Vista・XP
-
10
2つ以上のチェックボックスを連動させるには?
Excel(エクセル)
-
11
あるexcel表からチェックボックスに○のついた情報のみを別の表に抽出する方法
Excel(エクセル)
-
12
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
13
VBA別シートの最終行の次行へ転記したい。
Visual Basic(VBA)
-
14
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
15
エクセルで上の行の値を自動的にコピーする
Excel(エクセル)
-
16
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
17
別のシートから値を取得するとき
Visual Basic(VBA)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
チェックボックスの値をTRUE/FALSE以外にするには?
Excel(エクセル)
-
20
<EXCEL> セルが非表示になったらチェックボックスも非表示にする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
Excel マクロについての相談
-
別のシートを参照して計算する方法
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
VBA 最終行まで数式をコピーする
-
【ExcelVBA】全シートのセルの...
-
特定の文字を含むシートだけマ...
-
エクセルのマクロについて教え...
-
VBA 入力月で該当シートを選択...
-
一括印刷マクロ シート名を数字...
-
【ExcelVBA】動的にボタン、ボ...
-
VBA 存在しないシートを選...
-
同じ作業を複数のシートに実行...
-
ListViewの画面の更新
-
実行時エラー1004「Select メソ...
-
シートが保護されている状態で...
-
エクセルで通し番号を入れてチ...
-
【VBA】指定した検索条件に一致...
-
ユーザーフォームに入力したデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
【Excel VBA】Worksheets().Act...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報