[[20140806093048]] 『空白行を含む行を選択したい』(千田) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『空白行を含む行を選択したい』(千田)

閲覧ありがとうございます。
下記のエクセルデータがあるとしまして、全選択してコピーをし、別シートへ貼り付けをしたいと考えております。
 
データは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

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.