• ベストアンサー

オートフィルタ時に非表示にした列を含めてコピー、貼り付け

シートのいくつかの列を非表示にしています。 オートフィルタをした状態でコピーして別シートに貼り付けるマクロ を作りましたが、非表示の列が貼り付けられません。非表示の列の内容も貼り付けたいのです。 一度非表示列を表示させてコピー、貼り付けするしかないのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 簡単な方法としては、数式を貼り付けて、それを値コピーしてしまってもよいと思います。 VBAらしくすると、以下のような方法があります。 ただし、書式などはコピーされません。 Sub TestCopy()   Dim ar As Variant   Dim ur As Long   Dim uc As Integer      If ActiveSheet.AutoFilterMode = False Then    MsgBox "オートフィルタかありません。", vbInformation    Exit Sub   End If      ar = ActiveSheet.AutoFilter.Range.Value   ur = UBound(ar, 1) '行   uc = UBound(ar, 2) '列      Worksheets("Sheet2").Range("A1").Resize(ur, uc).Value = ar End Sub

nihonjinn
質問者

お礼

解答ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

http://www.moug.net/tech/exvba/0050114.htm にある Range("A1").CurrentRegion.Copy _ Destination:=Worksheets("集計結果").Range("A1") とした場合、非表示になっている行も一緒にコピーされてしまいます。とありますが、コピーされませんでした。 しかし 編集ージャンプーセル選択ーアクチブセル領域を選び その状態で Sub test02() Dim cl As Range For Each cl In Selection MsgBox cl.Address Next End Sub を実行すると、非表示列のセルも捉えました。 私には良くわかりません。 何かご参考になれば。 xlCellTypeのVisibleはあっても、Allが無いのが残念。

関連するQ&A

  • EXCELのオートフィルタのコピーについて

    EXCEL2000を使用しています。 オートフィルターにて抽出し一部をコピーし同じシートの別の列に貼り付けすると 隠れている行にもコピーされ表示されたところだけにコピーされません。 よい方法はありますか?

  • EXECEL2000でオートフィルター貼り付けの方法

    EXECEL2000のSheet1(A~P列)にデータが有り、オートフィルターにて データを抽出後、抽出データをコピーして別シートに溜まっている データの末尾にペーストするマクロを組みたいのですがどう組んだら良いのか? 教えてください!

  • Excelの非表示列も含めてコピー

    Excelのデータを別シートにコピーします。 コピー対象には非表示列も含まれていて 非表示列も含んだデータコピーはできているのですが、 貼付け時には非表示になっているデータは表示されて貼付けされます。 これを非表示だった列は非表示のまま貼り付けることは出来ないでしょうか? マクロを使ってコピー貼付けを行います。 よろしくお願いいたします。

  • エクセルのオートフィルタなのですが。

    オートフィルターで表示した(可視セル)のみをコピーして、別の列にそのデータを貼り付けたいのですが、貼り付けると、オートフィルターで非表示になっているデータまでも張り付けされて困っております。 どのようにしたら解決できますか? ご存知の方いましたら教えてください。

  • オートフィルタの結果だけをコピーする方法

    EXCELでオートフィルタをかけた結果を別シートにコピーする方法を教えて下さい。普通にコピー貼り付けするとオートフィルタかける前の全てのデータがコピーされてしまい、困っています。よろしくお願い致します。過去質問調べましたが、ありそうで見つかりませんでした。

  • Excelマクロ)フィルタをかけたコピーでエラー

    Excelのマクロで、フィルタをかけた列のデータ値を別シートへコピー(貼付け)する マクロを作りました。 フィルタをかけて、データ値があれば問題ないのですが、 データ値がない場合、エラーがでます。(=マクロがストップします) どうしたら回避できるでしょうか?

  • オートフィルタで出てきたものを他シートへコピー

    オートフィルタを使って出てきた内容を、他のシートにコピーさせたいのです。内容は、 でてきたシート1のC列の内容をコピーしたいです。       ↓ 2行目のC列の内容のみシート2のA1へコピー (1行目はタイトルがはいっているので・・)       ↓ 3列目以降のC列の内容をシート3のA1、A2、A3・・・ という風にコピーさせたいのです。 でてくる内容は1行かもしれませんし、2行だけかもしれません。 なんとかこれをどういうプログラムで組めばいいのかわからないので教えてくださいm(_ _)m 本当に困っています。 実際作ってみたのですが、1行目はタイトルが入っているので ただ単に2行目のC列をシート2へコピー、3行目のC列をシート3へ コピーというのはできるのですが、やはりシート3には順々に行を足してコピーしなくてはいけないので、そこら辺がどうしてよいかまったくわからずです・・・;; どなたかこの内容のプログラムを教えていただけないでしょうか・・助けてくださいm(_ _)m

  • VBA オートフィルター後のコピー

    オートフィルターで抽出された結果をコピーし、別の空白部分のセルへ貼り付けしたいのですが、抽出結果の一部しか貼り付けされません。オートフィルター後の結果をコピペするのはどういう方法(範囲選択方法)がベストなのでしょうか?

  • オートフィルターから抽出、貼り付けを自動化したい

    マクロに対して十分な知識を持っておりません。 画像のような表を使い、その曜日に出席できる者(○のついたもの(出席者))を 集めて違うシートにそのメンバーを貼り付けたいのですが上手くいきません。 試した方法は、自動マクロ記録でオートフィルターを使い該当者を選び、ctrl+cでコピー ctrl+vで貼り付けマクロの記録を終了しましたが、エラーがでて作動しませんでした。 どなたか詳しい方お知恵を貸してください。 ※名前に対してはこの表では3名ですが増える可能性が有ります。

  • エクセル:シートの全コピー貼り付けでオートシェイプを除いて実行

    エクセルのシート(Cells)の全データをコピー&(別のシートへ)貼りつける(マクロを使用して貼りつけています)とき、「オートシェイプ」だけを除いた全データを貼り付けることは可能でしょうか? そのオートシェイプはマクロボタンとしているのですが、マクロを実行するたびにオートシェイプの貼付けが繰替えされるため、どんどん重なっていくのを防ぎたいのです。よろしくご指導ください。 ※このオートシェイプの貼付の繰返しによりファイルが重くなることはないでしょうか?ないのなら無視してもよいかとは思っています。

専門家に質問してみよう