
可視セルのコピーをするとエラーとなる。可視セルにしている理由は
オートフィルターのしぼりこみをした部分だけをコピーしたいからです
エラーにならない、コードもしくはアドバイスをお願いします
【条件】
・項目1から項目3にオートフィルターを設置
・項目1から項目3の列を非表示にしている。グループ化の上、AからC列を折りたたみ非表示
・項目1はA1セル
A B C
項目1 項目2 項目3
1行 1 1 1
2行 2 2 2
3行 3 3 3
【エラーとなるコード】
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
【コード】
Sub コピー()
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Range("f1").PasteSpecial xlPasteValues
End Sub

- 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
- 今の自分の気分スタンプを選ぼう!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
現在、折りたたんだ状態ということであれば、
マクロを以下のようにすれば良いかと思いますがいかがでしょうか。
①折りたたんだ列を展開する。
②提示されたマクロのコピー&ペーストを行う。
③列を折りたたむ(元の状態にする)
提示されたマクロに①と②を加える形になります。
No.1
- 回答日時:
こんにちは
エラーの発生状況やエラー内容が不明ですが・・・
コピーする対象が存在しない場合(=全て非表示)にはエラーが発生します。
もしかするとそのような状態になっていませんか?
CurrentRegionの内容によっても、エラーの内容や発生位置が変わりますが、対処法としては「コピー対象が存在する」ことを確かめれば良さそうに思われます。
◇ 対処法1
CurrentRegionの中に、非表示ではない行が存在することを確認する。
Hiddenプロパティで表示の状態(表示/非表示)を確認することが可能ですので、事前に少なくとも一つ以上の表示行が存在するかを確かめれば良いでしょう。
◇ 対処法2
必ず非表示ではない行が含まれるようにする。
オートフィルターを想定しているのなら、項目行を設定しておけば、項目行は非表示にはなりませんので、コピー対象に項目行を含めておけば「全てが非表示」ということは起こらなくなります。
◇ 対処法3
エラー処理を追加する。
エラーが発生する原因が上記だけとは限定できませんけれど・・
エラー時にどうしたいのか不明ですが、エラー時の処理を追加することでも対処が可能でしょう。
https://learn.microsoft.com/ja-jp/office/vba/lan …
いつも回答ありがとうございます
非表示、前提の話でした
非表示だとエラーとなり、表示しているとエラーになりません
回答としては、マクロでコピーする場所は
表示するしかないという事でございますね
実際は20行位の長い列なので、折りたたみ非表示にしています
>コピーする対象が存在しない場合(=全て非表示)にはエラーが発生します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】1つのセルから結合されているセルへのコピー貼り付けについて 4 2024/01/28 21:30
- Visual Basic(VBA) VBAの質問(Msgboxについて)です 2 2025/02/19 07:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) findメソッドで、10:00:01 を検索をして、メッセージボックスにセル番地と時間が表示できない 2 2025/04/06 18:34
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) 【マクロ】PasteSpecialメソッドにて、コードが動かない理由が分かりません 2 2023/08/15 20:47
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 1 2024/07/03 17:47
- Excel(エクセル) 【マクロ、画像あり】A表かB表かどちらか判断をして、処理をする 4 2025/03/18 09:14
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】列を折りたたみ非表...
-
エクセルVBAで5行目からオート...
-
jwwのクロスラインカーソルの角...
-
Excel 2019 のピボットテーブル...
-
access2000:フォームで入力し...
-
『iPod nano』英語→日本語に直...
-
エクセルグラフの凡例スペース
-
DTS クエリーデザイナ で更新ク...
-
Excel 関数
-
Wordで見出しが連番にならない
-
BIOSでハードウェアの仮想化を...
-
Latex 表の書き方について
-
Accessレポートで特定条件で改...
-
2行目を表示できますか?
-
Oracle 2つのDate型の値の差を...
-
表の名称について
-
ePSXeがCD-ROMを読まない。
-
【至急(TT)】間違えて入力した...
-
アリエクで買った商品が破損し...
-
SELECT文でLEFT関数を使うと未...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
エクセルグラフの凡例スペース
-
Access テキスト型に対する指定...
-
セルの右クリックで出る項目を...
-
SUBSTRING 関数に渡した長さの...
-
必須入力項目と入力必須項目
-
BIOSでAHCIに設定したいが、項...
-
Accessレポートで特定条件で改...
-
他テーブルで一致する列から名...
-
Accessで数値型にNULLをInsert...
-
ORACLEでLONG項目からCHAR項目...
-
datファイルからaccessにインポ...
-
access2000:フォームで入力し...
-
指定した項目の列削除
-
APN設定について教えていただけ...
-
VBAで複数の数式セルを最終行ま...
-
条件に一致した列の非表示の仕...
-
複数のレコードを1つのレコード...
おすすめ情報