Excelでフィルターをかけた状態で、可視セルのみに貼り付ける方法は?
ポイント: - フィルターをかけた状態でのコピーが必要なため、対象セルを選択することが重要。 - マクロを使用することで、可視セルのみに貼り付ける操作が自動化される。 - 開発タブからマクロを実行し、コピー元と貼り付け先のブックを選択する手順がある。 - InputBoxを利用して、コピーするセル範囲と貼り付け先のセルを指定する必要がある。 - 可視セルのみに貼り付けるため、行が非表示のセルはスキップされる仕組みがある。
- 1 Excelでフィルターをかけた状態で、可視セルのみに貼り付ける方法は?
- 2 フィルターをかけた状態での可視セルへの貼り付け方法
- 3 手動での可視セルへの貼り付け方法
- 4 マクロを使った方法
Excelでフィルターをかけた状態で、可視セルのみに貼り付ける方法は?
エクセルを使っていると、フィルターをかけたデータのコピーが必要になること、ありますよね。
特に、 非表示のセルには貼り付けたくない 場合、どうすればいいのか悩む方も多いのでは?
今回は、 可視セルのみに貼り付ける方法 や、マクロを使った手順を詳しくご紹介します。
フィルターをかけた状態での可視セルへの貼り付け方法
エクセルでフィルターをかけたデータを扱う際、可視セルのみに貼り付ける方法を知っておくと、作業がとてもスムーズになります。
ここでは、 フィルターをかけた状態でコピーしたデータを、別のファイルの可視セルに貼り付ける方法 を詳しく説明します。
手動での可視セルへの貼り付け方法
その後、貼り付け先のシートで、「可視セルの選択」を行います。
マクロを使った方法
Option Explicit Sub Sample1() '別ブックにも対応可能 Dim buf As Range, CpRg As Range, PtRg As Range Dim sh1, sh2, PtWbNm, PtShNm, wb, YN Dim i As Long Dim CpStR As Long, CpStC As Long, CpEnR As Long, CpColC As Long Dim PtStR As Long, PtStC As Long On Error GoTo Err For Each wb In Workbooks wb.Activate If wb.Name = ThisWorkbook.Name Then YN = MsgBox("同じ Book 内でペーストしますか?" & Application.Rept(vbCrLf, 2) & _ "Book名:" & wb.Name, vbYesNo + vbExclamation + vbDefaultButton2) Else YN = MsgBox("下記の Book にペーストしますか?" & Application.Rept(vbCrLf, 2) & _ "Book名:" & wb.Name, vbYesNo + vbExclamation + vbDefaultButton2) End If If YN = vbYes Then PtWbNm = wb.Name PtShNm = wb.ActiveSheet.Name Exit For End If Next wb If PtWbNm = "" Or PtShNm = "" Then Exit Sub End If ThisWorkbook.Activate Set buf = Application.InputBox(Prompt:="コピーするセル範囲を選択して下さい。", Type:=8) Set CpRg = buf Set buf = Application.InputBox(Prompt:="ペーストする最初のセルを一つ選択して下さい。", Type:=8) Set PtRg = buf On Error GoTo 0 Set sh1 = Sheets(CpRg.Worksheet.Name) CpColC = CpRg.Columns.Count CpStR = CpRg.Row CpStC = CpRg.Column CpEnR = Right(CpRg.Address, InStr(StrReverse(CpRg.Address), "$") - 1); If PtWbNm = ThisWorkbook.Name Then Set sh2 = Sheets(PtRg.Worksheet.Name) Else Set sh2 = Workbooks(PtWbNm).Worksheets(PtShNm) End If PtStR = PtRg.Row PtStC = PtRg.Column Application.ScreenUpdating = False For i = CpStR To CpEnR If sh1.Rows(i).EntireRow.Hidden = False Then Do Until sh2.Rows(PtStR).EntireRow.Hidden = False PtStR = PtStR + 1 Loop sh1.Cells(i, CpStC).Resize(, CpColC).Copy sh2.Cells(PtStR, PtStC) PtStR = PtStR + 1 End If Next i Application.ScreenUpdating = True sh2.Activate Set buf = Nothing Set sh1 = Nothing Set sh2 = Nothing Set CpRg = Nothing Set PtRg = Nothing Err: Err.Clear End Sub2. ファイルを「Excel マクロ有効ブック(*.xlsm)」として保存します。
マクロ実行後に「実行時エラー‘1004’」が発生する理由は何ですか? 2025年4月22日 Excelでフォーム入力をする際、出欠タブが空白の場合の対処法は? 2025年4月22日アーカイブ
Copyright © ネットトラブルポータル All Rights Reserved.