『空白行を含む行を選択したい』(千田) 閲覧ありがとうございます。 下記のエクセルデータがあるとしまして、全選択してコピーをし、別シートへ貼り付けをしたいと考えております。   データはA〜AOまで固定 行数は1〜30程 空白セルを含む場合有り ----   A  B  C  D  E  F  G … AO 1 200 004    東京   ブロック    田中 2 3 ---- 自分なりに考えましたのが Range("A1:AO1").Select Range(Selection, Selection.End(xlDown)).Select しかし、これですと1行しかない場合は一番下の行まで選択してしまいます。 無知で申し訳ございませんが、ご教示いただけませんでしょうか? < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- 必ず入力がある列はございませんか? 例えばA列は必ず入力があるのでしたら、 Range(Range("A" & Rows.Count).End(xlUp),"AO1") こんな感じでも出来ると思います。 また空白で囲まれた表範囲に該当するのでしたら Range("A1").CurrentRegion これでもできそうです。 しかし、このような場合難しいです。 [A] [B] [C] [~] [AO] [1] XXX aaa bbb [2] bbb 111 [3] aaa --- [4] XXX YYY [5] ZZZ YYY [6] XXX --- aaa [7] ZZZ XXX [8] --- aaa [9] aaa +++ [10] bbb +++ もう少し詳しく教えていただけますか? (稲葉) 2014/08/06(水) 12:58 ---- 質問させて頂きました千田と申します。 説明不足で失礼しました。 フィルタで絞ったデータを別シートに貼り付け見出し行と不必要な列を削除してコピー それを各項目を入力しているシートへ貼り付けるという事を繰り返し行うVBA作成を考えております。 基本的にはA1・B1には必ず入力があるはずですが、フィルタで絞った際に何も該当しなければ 真っ白なシートをコピーして貼り付け、最後に空白行削除のVBAを使い完了というのが私が考えた内容です。 [A] [B] [C] [~] [AO] [1] aba     ddd  [2] ?tc bbb 111 [3] aaa --- [4] XXX YYY [5] aaa ZZZ YYY [6] XXX --- aaa [7] ZZZ XXX +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 上記のデータ下記のシートへ貼り付けます。 東京の場合、B2 神奈川の場合、B15 [A] [B] [C] [~] [AO] [1] 番号 担当 携帯 受付 [2] 東京 ・ ・ [15] 神奈川 ・ ・ [30] 埼玉 ・ ・ [45] 千葉 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ そして最後にB列のセルが空白の場合は削除するVBA(完成済)を使うことにより [A] [B] [C] [~] [AO] [1] 番号 担当 携帯 受付 [2] 東京 aaa bbb ccc [3] 東京 abc bbc ZZZ VVV [4] 東京 BBB bbb ccc [5] 神奈川 FFF ggg rrr xxx [6] 千葉 NNN asd qwe aaa このようなデータが作成できるのでは?と考えております。 (千田) 2014/08/06(水) 14:01 ---- それでしたら、フィルタオプションが使えると思います。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_advancedfilter.html >フィルタで絞ったデータを別シートに貼り付け見出し行と不必要な列を削除してコピー >それを各項目を入力しているシートへ貼り付けるという事を繰り返し行うVBA作成を考えております。 シート構成や「各項目」が何を指しているか分かりませんが、例として地域と捉えます。 シートが関東、関西、東北、北海道、元データ、抽出データ、抽出条件 7シートがあるとして、 1)元データは提示されたデータ、 2)抽出データの1行目に元データの項目、 3)抽出条件には元データの抽出する項目 これらがあるとして、マクロの記録を取ります。 3)の条件に抽出したい値を入れます。 空白以外なら、「<>""」で出来たと思います・・・ 条件についてはこちら http://www.excel-vba.net/excel-range-018.html 2)を選択した状態で「データ>並べ替えとフィルタ>詳細設定」 「指定した範囲」を選択。 リスト範囲を1)で最大になる範囲を選択 検索条件範囲に3)の範囲を選択 (繰り返し処理で範囲が可変の場合は、CurrentRegionで条件範囲を指定することが可能です。 ) 抽出範囲に2)の項目名がある1行を選択 これでOKを押せば抽出されます。 後は最初に説明した Range("A1").CurrentRegion で範囲を取得出来ます。 これをコピーして各シートに貼り付けていかがですか? VBAを組んでほしいという要望でしたら、必要な情報が「各項目」とか「完成済みのVBA」とかシート 構成や抽出条件などが分からないので出来ません。 (稲葉) 2014/08/06(水) 14:28