【VBA】オートフィルタで抽出した内容を隣のセルにコピーする方法

このQ&Aのポイント
  • VBAを使用してオートフィルタで東京だけを抽出し、コピーする方法について教えてください。
  • A列とB列のデータをオートフィルタで抽出し、抽出したデータを隣のセルにコピーするVBAの処理方法について教えてください。
  • VBAを使って行ったオートフィルタ処理で抽出したデータをコピーする方法について教えてください。
回答を見る
  • ベストアンサー

【VBA】オートフィルタで抽出した内容を隣のセルにコピーする方法

A列   B列 1       都道府県 2       神奈川 3       神奈川 4       埼玉 5       東京 6       千葉 7       東京 8       神奈川 9       東京 1行目にオートフィルタを使用してB列から東京だけを抽出。 A列   B列 1       都道府県 5       東京 7       東京 9       東京 B列の内容を隣のセルにコピー。 A列   B列 1       都道府県 5東京       東京 7東京       東京 9東京       東京 このような処理をVBAで行うにはどうしたらいいでしょうか? 可視セルを他シートに貼り付ける処理は分かりましたが、同シート内での処理が分かりません。 宜しくお願いします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

n-junです。 >>下記のようにC列のデータをB列だけにコピーするにはどうしたらいいでしょうか? >With Range("B2", Cells(Rows.Count, 2).End(xlUp)).SpecialCells(xlCellTypeVisible) With Range("C2", Cells(Rows.Count, 3).End(xlUp)).SpecialCells(xlCellTypeVisible) この1行を差し替えて下さい。

udon0318
質問者

お礼

回答ありがとうございます。 Rows.Countに対しての知識が不足しておりました。 無事に解決しました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

フィルタがかかっている状態で、 With Range("B2", Cells(Rows.Count, 2).End(xlUp)).SpecialCells(xlCellTypeVisible) .Offset(, -1).Value = .Value End With とか?

udon0318
質問者

補足

回答ありがとうございます。 ご教授頂いた内容で解決しました。 度々の質問で申し訳ございません。 下記のようにC列のデータをB列だけにコピーするにはどうしたらいいでしょうか? A列   B列   C列 1           都道府県 5           東京 7           東京 9           東京

関連するQ&A

  • EXCELのVBA-フィルタ抽出後のセル選択方法

    EXCELのVBAです。  オートフィルタ(Autofilter)で、何らかの条件で抽出をかけた後の部分で、 特定のセル、例えば、2列目の上から5番目のセル、を選択するには、 どうすれば良いでしょう?  言い方を変えれば、可視セルの中だけで、何列目で何行目セルという指定 をするにはどうすれば良いかと。  RangeとかSelectionで、指定する方法が有るのでしょうか? よろしくお願いいたします。

  • VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えて

    VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えてください。 A列、C列に日付が入っていて、A列は空白以外のセルを表示し、かつC列は、開始日、終了日で抽出したいのですが、うまくいきません。 With Worksheets("sheet").Activate 開始日 = ">=" & TextBox1.Text 終了日 = "<=" & TextBox2.Text .Range("A1:N200").AutoFilter Field:=1, Criteria1:="<>" .Range("A1:N200").AutoFilter Field:=3, _ Criteria1:=開始日, Operator:=xlAnd, _ Criteria2:=終了日

  • オートフィルターで一つずつ抽出したものを....

    Bの行にオートフィルターをかけ、列の11で一つずつ抽出したものをコピーし、新規シートに貼り付けたいのですがどうやれば良いですか? 見出し『商品』として抽出されるもの全て新規シートにそれぞれコピーしたいです。 VBAの場合、初心者ですのでわかりやすくお願いします。 わかる方には面倒な事ばかりで申し訳ありませんが宜しくお願いします。 エクセル2010です。

  • フィルタしたセルのコピーをフィルタしたセルに貼付

    質問番号:2467654で似たようなことを希望した方がいて、 【フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、 別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。】 という質問に対してベストアンサーが 【Ctrlキーを使用すれば、できますよ。 (例) Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。 Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…】 となっていて「できました」!といわれているのですができません。 これ本当にできますか? 違う部分も取り込んでしまうのですが… フィルタをかけているのが他の列だとできないのでしょうか。 (例) A B C ←列 あ 1 イ い 2 ロ う 3 ハ え 4 ニ お 5 ホ の場合に、フィルタで あ うの行を選んで 1 3 を D列にペーストし、 あ1イ1 や う3ハ3 をつくりたい場合に あ1イ1は良いですが、い2ロ3 ができてしまうのです。 ちなみに以下のような回答もありましたが、これも「フィルタしたセルに貼り付け」はできませんでした。。 バージョンはエクセル2003です。 可視セルを選択してから、「コピー」→「貼り付け」を行うと、可視セルだけが貼り付けされます。 以下は、その手順です。 1) コピーするセル範囲を選択します。 2) 「編集」→「ジャンプ」→「セル選択」をクリックします。 3) 表示される画面で、「可視セル」にチェックを入れ「OK」を押します。可視セルだけが選択されます。 4) その後、コピーから貼り付けで、可視セルだけが貼り付けされます。 http://office.microsoft.com/ja-jp/assistance/HP052014731041.aspx セルの選択コマンドから操作する方法もあります。 http://www.h3.dion.ne.jp/~fukusima/waza/ura124.html 参考URL:http://office.microsoft.com/ja-jp/assistance/HP052014731041.aspx,http://www.h3.dion.ne.jp/~fukusima/waza/ura124.html

  • マクロでオートフィルターの抽出が出来ない

    下記のデーターをマクロで作成しましたが、2010/03/01は抽出するが、2010/03/02以降は デバッグが発生して上手くいきません。 どの様にすれば解決できるのか、ご教授お願いします。 現状) AファイルのA列のオートフィルタオプションで、抽出条件の指定にBファイルの C6をコピーして、「Ctrl」+「V」で貼り付け抽出すると2010/03/01の24時間分の データーが抽出されます。2010/03/02を抽出するとデバッグが発生する。 データーの詳細) Aファイルに「元データー Sheet」があり、A6~A44647に、 1ヶ月分の日付が記載されてます。 (B6~B44647には、24時間を1分間隔でのデーターがあります) A列の日付は、2010/03/01~2010/03/31のデーターがあり、 「セルの書式設定」を確認すると、「標準」設定で表記されてます。 オートフィルタによりA列の、各1日分のデーターを抽出させます。 Bファイルの「作成日指定 Sheet」のB3に2010/3/1を入力すると C6には「=$B$3」で「2010/03/01」と表示する様に「セルの書式設定」 「ユーザー定義」で「yyyy/mm/dd」を選択してます。(C36まで設定) 以下C7に「=$B$3+1」で、C8には「=$B$3+2」で、C36までで「2010/03/31」 と表示させてます。

  • オートフィルターによって、抽出したセルにだけペーストしたい。

    例えば、 5行ごとの世帯表があります。 A列には氏名が入力されています。 2人世帯は2行しか使いませんので、下3行は何も入力されていない行です。 つまり、10世帯分で100行あり、その中に合計38名分の氏名が入力されています。 列を挿入して、B列に新しい列を作りました。 この列に、別シートの同じ世帯員の生年月日が入力された列(ブランクの無い38行の38個のセル)を貼り付ける場合、どのように貼り付けるのでしょうか。 オートフィルターで、A列の空白セルを除いてから貼り付けたら、オートフィルター解除後、空白セルにも貼り付いてしまったので、ずれてしまいました。 オートフィルターで、省いた(隠した)セルに貼り付かないように貼り付けるにはどうすればいいのでしょうか。

  • 検索値のセルと同じセルを探す方法は。

    検索値のセルと同じセルを探す方法は。 Excel 2003を利用しています。 以下のようなことをしたいですが、どのような関数でしたら良いでしょうか。 A列  B列  C列 有  東京  東京 有  東京  千葉    埼玉        埼玉 有  千葉 有  千葉 検索値がC列で、同じ内容のセルをB列から探し、 同じセルがあった場合、結果をA列に「有」と表示させたいのです。 実際のB、C列は何百行とあります。 無い場合は空白にしておきたいのですが、 このような関数はあるでしょうか? どうぞよろしくお願いします。

  • オートフィルターで抽出されたデータの参照方法について

    1000件以上のデータをA,B、C列にオートフィルターをかけて抽出されたデータのA,B、C列およびD列目の値を参照する式を組みたいのですが、当然のことながらオートフィルターをかける都度、表示されるセル番地が変わるので式がくめません。 多分、マクロでコピーしてどこかにペーストすればいいのでしょうが、まったくわかりません。お教えください。

  • VBAで条件に一致するセルの隣の値をまとめる方法

    VBAで条件に一致する複数セルの隣のセルの値を取得し、まとめる方法教えて下さい! 下記例の様に、A列に商品コード、B列にサイズ値の入力されたデータが8万行ほどあり、別シートに商品コード毎にサイズ値をまとめたいです。 例: 処理前 A列(商品コード)      B列(サイズ値) abc1000           S abc1001           S abc1001           M abc1001           L abc1002           XS abc1002           S 処理後(別シート) A列(商品コード)      B列(サイズ値) abc1000           S abc1001           S:M:L abc1002           XS:S COUNTIFで連番を振ってMATCHとINDEX関数で抽出し、まとめるという方法で実現は出来たのですが、処理にかなりの時間を要するのでVBAならもっと高速にできるのではないかと思い質問させて頂きました。 よろしくお願い致します。

  • オートフィルターで抽出後の集計 ユーザー定義関数

    以下のようなテーブルがあったとします。(図参照) A列 ID B列 数値A C列 数値B D列 抽出A E列 抽出B フィルターでD列E列で抽出した後に、B列の数値、例えば数値が1~3あるとします。 それぞれ1~3のC列の数値の合計の式をユーザー定義関数で作ることは出来ますでしょうか? コードかけません宜しくお願いします。 式1 フィルター抽出後のB列の1という数字のみのC列の数値の合計 式2 フィルター抽出後のB列の2   同様 式3 フィルター抽出後のB列の3   同様 VBAの知識はあまりありませんが、モジュールの追加とコードを貼り付ける作業は出来ます。 エクセル2013 64bitです。 宜しくお願いします。

専門家に質問してみよう