VBA複数セルで検索
- VBA初心者のため、一つのシートに並んでいる氏名と番号の組み合わせが別のセルに存在するかどうかをチェックしたい。
- 氏名と番号をくっつけて検索する方法がわからない。
- Find関数を使用して氏名と番号をセットで検索して該当しない場合は、エラーメッセージを表示したい。
- ベストアンサー
VBA複数セルで検索
VBA複数セルで検索 VBA初心者です。 1つのシートにA列氏名1、B列番号1、c列エラー、D列氏名2、E列番号2と並んでます。 例) a*1001* *a*1001 a*1005*該当なし *a*1002 a*1000* *c*1003 c*1003* *e*1005 c*1005*該当なし *d*1004 以下続く(*はセル区切り) 氏名1と番号1の組み合わせが氏名2、番号2にあるかどうかチェックして ないものは、C列に「該当なし」とエラーを表示させたいです。 Find関数を使用してやってみたのですが、氏名と番号をセットで検索する方法がわかりません。 氏名と番号をくっつけて検索すればいいのでしょうか?
- hanamaronpie
- お礼率0% (0/2)
- その他([技術者向] コンピューター)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
いろいろやり方はありますが 少し速度は劣るもののわかりやすい方法として For Each でセルを検索し 最初にヒットしたらOffsetで更にセルを比較 というストーリーにすればいいかと
その他の回答 (1)
- kmetu
- ベストアンサー率41% (562/1346)
> 氏名と番号をくっつけて検索すればいいのでしょうか そうですね。氏名2、番号2をくっつけたセル( F列)を作成して(=D1 & E1) Worksheets(1).Range("F:F").Find(Range("A1").Value & Range("B1").Value, LookIn:=xlValues) みたいな感じで探せます。
関連するQ&A
- Excel VBAを使って会員検索
Sheet1のA列に会員番号、B列に氏名、C列にフリガナ、D列に住所といったデータがあります。 Sheet2のA列に会員番号のみがあります。 この2つのデータを照合して、一致した場合のみ、Sheet1の該当会員データの横のセルに“一致”もしくは“1”などの値(上の例だとSheet1のE列に)を入力できるようなVBAを組みたいのですが、教えていただけますでしょうか?
- ベストアンサー
- オフィス系ソフト
- VBAを使って検索したセルを別のシートにコピーする
こんにちは。 業務でエクセルを使用して差し込み文書を印刷しています。 量が多いのでVBAを使って簡単に作業したいです。 まず、以下のようなシートがあります。 <Sheet1>差込文書 <Sheet2> (A) (B) (C) (D) (E) (F) 番号|会社名|支店名|役職名|氏名|会社、支店名、役職名、氏名 次のような作業をさせたいです。 1.<sheet2>のA列と同じ番号が<sheet1>の(L1)にあるかどうか検索する。 2.もし、一致するセルがあれば、<sheet2>の該当番号の行のF列を<sheet1>の(B5)にすべて(書式ごと)コピーする。 以上です。 VLOOKUP関数でしましたが、すべてをコピーする事ができなかったので、VBAでコピーしたいです。 F列は、個人名だけの方、支店がない会社などがあるため、バランス良く配置しているセルです。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセル2003 VBAで セル内を 一発呼び出し
エクセル2003 オートフィルタではなく VBAで セル内を 一発呼び出ししたいので。 よろしく お願いします。 表 列A~E(結合2行) :商品名と内容 列H~K(結合2行) 住所氏名電話番号を記載してます。 1年分を オートフィルターで 氏名 や 商品名で 探すのは 結構 時間がかかります。 同じものが ほぼ少ないため。。。 そこで たまに 同じ氏名 同じような 品を 検索する セルを 2個ほど作って そこへ セル1へ 商品名を入力すると 該当する 行のみ 表示される。 セル2に 名前をを入力すると 該当する 行のみ 表示される。 また、セルを赤色に塗った部分の結合行(2~3行)を 赤色に塗りつぶした行のみ 表示も できれば うれしいです。 コマンドボタン等を使ってもいいので お願いします。 そんな VBAを 作っていただけませんでしょうか^^; お手数おかけしますが どなたか よろしく お願いします。
- 締切済み
- オフィス系ソフト
- VBA 検索したセルに入力
ExcelのVBAを使用して データの入力されたファイルに行列から検索したセルに数値を入力したいのです。 例えば、名前(行)と、日付(列) 2つの条件で、セルを検索し、該当するセルに、データ(数字とか)を 入力したいのです ------------------------------------ 6/1 6/2 6/3 6/4 ・・・ a b c ・ ・ ------------------------------------ 例えば、A5に名前、B5に日付、データエリアがB10:Z20の場合 =INDEX(B10:Z20,MATCH(A5,A10:A20,0),MATCH(B5,B9:Z9,0)) で、該当するセルを探すことはできたのですが、 このセルに、データを入力したいときは、 ROWやCOLUMNで、行番号、列番号を取り出して Cellsで、入力すればいいのかな?と考えていますが もっと簡単にできるのでしょうか? (FIND関数は、使ったことがなく、どうなんだろう?と) それでいいよ とか、こっちの方が簡単 とかあれば、教えてください
- ベストアンサー
- Excel(エクセル)
- マクロで結合セルへの合計額の表示
B列に月日、C列に氏名、D列に金額、E列は合計額欄の表が有ります。 マクロでC列氏名でソートし、C列で同名の部分はE列でセル結合しています。このE列セル結合のところにD列金額の該当分の合計金額をE列セル結合に表示する記述を教えてください。よろしくお願いします。
- ベストアンサー
- Visual Basic
- Excel 複数セルから文字列の検索、表示
エクセル初心者です。 過去のものを探しては見ましたが、うまくキーワードを見つけられなかったので 質問させてください。 リストで次のようなものがあるとします。 A B C D E F G 1○ 12 45 - 98 - 2■ - - 12 - 06 3◇ 35 12 01 99 - 4× - - - - 12 5☆ 08 61 20 12 - このリストで各行ごとにB~F列のセルにある「1」で始まる文字列を検索して 該当する文字列をG列に表示する方法はありますでしょうか? 関数とかVBAについては???なので、わかり易くお教え頂けると助かります。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- VBAマクロ・・同一セルの検索と検索したセルの操作
VBAマクロ・・同一セルの検索と検索したセルの操作 VBAのほぼ初心者です。 決められたセル(たとえばE100)に入力された文字列と同一の文字列を その列内の上(E1~E99)で検索する。 そして、検索できれば(たとえばE30)そのセルがある行(行30)を削除する。 なお、複数検索されれば、検索されたすべてのセルに対応する行を削除する。 というようなことをVBAのマクロで作成したいです。 FindメソッドとDo..Loop Whileを使って試行錯誤してみたのですが、うまくいきません。。 いい方法があれば、是非教えていただきたいです。 どうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VBA Excelのセル検索
VBAで以下の要領でセルの検索をしています。 ------------------------------------------- dim getCell As String dim inputStr As String Windows("ExcelBook.xls").Activate Sheets("sheet1").Select inputStr = "58" getCell = Columns("C").Find(inputStr) ------------------------------------------- C列にある文字列を検索して、該当するセルの行番号を取得したいのですが、その検索する「文字列」は数字なんです(0~9000までで重複しません)。 上の方法で実行すると、inputStrに代入した数字をgetCellが持ってしまうのですが・・・ 色々考えているのですが分かりません。 どなたか教えて頂けませんか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VLOOKUP関数をVBAで使用したい
VLOOKUP関数をVBAで使用したい 「検索」シートにID番号を入力すると、「データ」シートのA列に入っているデータから入力されたID番号を検索し、該当するID番号のある行の横並びに入っている別の列データ(B~AG列)を取り出し、それぞれを「検索」シートの様々なセルに表示するVBAを作っていますが、VBAでVLOOKUP関数を用いる方法がよく分からず苦戦しています。 「データ」シートの1、2行目は見出しで、検索されるデータが入っているのは3行目からです。また、「データ」シートには不定期に新しいデータが追加されていきます。 「検索」シートに検索結果を表示する際も、以下のように規則性のないセル配置なので少しややこしいです。 「検索」シートのセル=「データ」シートの列 B6=B列 B8=C列 B10=D列 B11=E列 B12=F列 B13=G列 B14=H列 B16=I列 D16=J列 F16=K列 B17=L列 D17=M列 F17=N列 B20=O列 C20=P列 E20=Q列 B21=R列 C21=S列 E21=T列 B22=U列 C22=V列 E22=W列 B23=X列 C23=Y列 E23=Z列 B24=AA列 C24=AB列 E24=AC列 B26=AD列 E26=AE列 B29=AF列 B31=AG列 このような動作をVBAでさせることは可能でしょうか? また、検索して該当するID番号がなかった際も、VBAだとそこで動作が止まってしまうので、「該当するID番号がありません」といったエラー判定が出るようにすることはできますか? 教えてください。よろしくお願いします。
- 締切済み
- オフィス系ソフト
- EXCEL VBAで複数のシートの中から該当値を検索する方法について
すいません、EXCEL VBAで複数のシートの中から該当する値を検索する方法について教えていただきたいことがあります。 Sheet1 A列 B列 C列 1行 11 りんご 31 2行 12 バナナ 32 3行 13 みかん 33 4行 14 ぶどう 34 ・ ・ ・ ・ Sheet2 A列 B列 C列 1行 31 すいか 11 2行 32 レモン 12 3行 33 パイン 13 4行 34 ざくろ 14 ・ ・ ・ ・ というデータが入っているブックについて 「全部のシートを検索し、A列に11の値が入っているセルの行数及びその行のB列の値」 をSheet1のD1セルとE1セルにそれぞれ返す方法はどうしたらよろしいんでしょうか。 For Each を使うのではないかと思って色々やってみたのですが、どうも上手く作動してくれません。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト