Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7全般 : Excel 2010)
条件に合致した文字列検索とコピー
投稿日時: 18/06/26 22:54:59
投稿者: seint-takemaru

VBA初心者です。
やりたい事は、特定の文字列を検索し、条件に合致した文字列の行を別シートに
 コピーしたいのです。
  
具体的には、下記の表で、商品番号の列にある文字列の中から、「456」と「789」が
 あるかを検索して、もし、「456」と「789」が存在したら、その行(※1)を別のシート(※2)にコピー
 したい。
  
※1 行をコピーする際に、列の範囲を指定したい。
      商品番号〜数量までのデータをコピーしたい。
※2 貼り付け先のシートは既に作成済で、シート名は「処理対象」とする
 
 

商品記号	商品名称	商品番号	数量	生産地域
 A	    キャベツ	123	     2	富山県
 B	    にんじん	456	     1	島根県
 C	     なす   	789	     4	千葉県
 F	    にんじん	456	     3	福島県
 D	    はくさい	675	     8	徳島県
 G	     なす	    789	     7	秋田県

 
  
   
   
すみませんが、ご教示お願いいたします。

回答
投稿日時: 18/06/26 23:47:02
投稿者: WinArrow
投稿者のウェブサイトに移動

VBAでなければいけないのですか?
 
一般機能の中に
「オートフィルタ」とか「フィルタオプション」という機能があります。
 
例えば、
「オートフィルタ」では、一度に複数の検索が可能です。
ヒットした行以外が非表示になります。
その範囲を選択して、別シートに複写することができます。

投稿日時: 18/06/27 08:11:55
投稿者: seint-takemaru

ご返信ありがとうございます。
 
イメージとしては、シート上にコマントボタンを配置し、実行したら、
一瞬で上記のことを実現させたいと思っています。
 
配列変数、もしくは、Instr関数等を使用して実現できればと思うのですが、
どのようにコードを記述したらよいのかがわかりません。
 
よろしくお願いします

回答
投稿日時: 18/06/27 09:51:31
投稿者: WinArrow
投稿者のウェブサイトに移動

>どのようにコードを記述したらよいのかがわかりません。
 
コードの作成依頼は、禁止されています。
 
マクロの記録で
紹介した「オートフィルタ」の操作を実行すれば
取り敢えずのコードが自動作成されます。
 
「取り敢えず」と書きましたのは、
操作そのものをコードにしてあるので、
例えば、
「検索キー」の値を可変化する
複写先のセルの位置を可変化する
等、に対応するには、カスタマイズが必要ということです。

回答
投稿日時: 18/06/27 09:53:39
投稿者: Suzu

こんにちは。
 
質問者さんの意図を図りかねています。
 
得たい結果は判っています。
 
そこに至る手法を オートフィルター/オートフィルターの提案に対し
 

引用:
配列変数、もしくは、Instr関数等

 
等??
オートフィルター/フィルターオプションを否定して 等 と言われますと、、、
配列変数(?)または、InStr関数 を使用した手法を学びたいという事でしょうか?

トピックに返信