- ベストアンサー
特定のセルを検索するマクロ
- Excelで特定のセルを抽出するマクロを作成する方法をご質問いただきました。
- マクロの内容は、指定された条件を持つセルを「積算データ」というシートから検索し、結果を表示するものです。
- 検索結果において、検索条件の文字列が存在しないセルが無視されてしまう問題が発生しているようです。解決方法についてアドバイスします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- tsubuyuki
- ベストアンサー率45% (699/1545)
- kero1192kero
- ベストアンサー率33% (3/9)
- kero1192kero
- ベストアンサー率33% (3/9)
関連するQ&A
- オートフィルタを操作するマクロについて
いつもお世話になっております。 現在オートフィルタを操作するマクロを作成中ですが、うまく動作してくれず、悩んでおります。 「検索画面」シートのA1から文字で検索条件を入力し、その答えを「元データ」のシートでオートフィルタを使って導き出すことをしています。 私が作ったマクロは以下の通りです。 Sub フィルタオプション設定() Dim LastRow As Long, LastColumn As Long Dim myData As Range Dim myCriteria As Range Set myCriteria = Worksheets("検索画面").Range("A1").CurrentRegion Sheets("元データ").Select Selection.AutoFilter Field:=26, Criteria1:=myCriteria, Operator:=xlOr End Sub これですと、「~を含む」という答えがでないのと、複数設定しても最後に入力した文字しか検索をかけないのです。 結局のところ、 (1)複数に加え、 (2)「~を含む」という条件で、 (3)別シートにあるデータをオートフィルタによって操作する マクロをご教示ください! よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- VBAマクロ・・同一セルの検索と検索したセルの操作
VBAマクロ・・同一セルの検索と検索したセルの操作 VBAのほぼ初心者です。 決められたセル(たとえばE100)に入力された文字列と同一の文字列を その列内の上(E1~E99)で検索する。 そして、検索できれば(たとえばE30)そのセルがある行(行30)を削除する。 なお、複数検索されれば、検索されたすべてのセルに対応する行を削除する。 というようなことをVBAのマクロで作成したいです。 FindメソッドとDo..Loop Whileを使って試行錯誤してみたのですが、うまくいきません。。 いい方法があれば、是非教えていただきたいです。 どうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- セルの値からマクロで検索を行うには
エクセルのシート1枚に700件程の物品の在庫管理をしています。 件数が多いためナンバーで検索を行えるよう、以下のようなマクロを作ってみました。 Sub 検索を行う() Dim 検索セル As Range Set 検索セル = Range("A1:A675").Find(120) If Not 検索セル Is Nothing Then 検索セル.Activate End If End Sub これでA列の「120番」を検索できるのですが、セルに入力した数値を検索するには、どうすればよいのでしょうか?? (例えばセルE1に120と入力して検索) 色々調べてみたのですが、セルの値から検索ができなくて・・・・。 よろしくご教授ください。
- ベストアンサー
- オフィス系ソフト
- エクセル マクロ 検索
お世話になります。 範囲がA2からK221までの表があります。 検索して検索されたセルの左のセルを表示するマクロを組みたいのですが、検索する文字(数値)はE1に、検索結果はK1に表示するようにするにはどのようにしたらいいでしょうか? Sub FIND_DATA1() ' FIND_DATA1 Macro ' マクロ記録日 : 2006/9/1 ユーザー名 : ' Cells.Find(What:=Range("E1").Value, After:=ActiveCell, lookAt:=xlWhole).Activate End Sub Sub Data_Find3() Dim 対象セル As Range Dim 最初のセル番地 As String Dim 検索件数 As Long Cells.Interior.ColorIndex = xlNone If Range("E1").Value = "" Then Exit Sub End If Set 対象セル = Cells.Find(What:=Range("E1").Value, After:=ActiveCell, lookAt:=xlWhole) 最初のセル番地 = 対象セル.Address Do 対象セル.Interior.ColorIndex = 37 検索件数 = 検索件数 + 1 Set 対象セル = Cells.FindNext(対象セル) Loop While 対象セル.Address <> 最初のセル番地 MsgBox "検索件数は" & 検索件数 - 1 & " 件です" End Sub 本を見たり調べたりでここまでできたんですがこれだと検索件数、検索結果が色付きになるだけで使い勝手がいまいちです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロで特定の範囲内の検索
A10からA100までのセルを上から順に調べて、セルにAという文字が入力されているときに、その隣にBという文字を入力するマクロを下記のように作りました。 「セルにAという文字が入力されているとき」という条件に加え、「検索しているセルから上の9個のセル(cells(i-9,1)からcells(i-1,1)まで)にAという文字が入力されていない」という条件を加えたいのです。 Sub 検索() Dim i As Integer For i = 10 To 100 If Cells(i, 1).Value = "A" Then Cells(i, 2).value = "B" End If Next i End Sub つまり If Cells(i, 1).Value = "A" Then の部分を If Cells(i, 1).Value = "A" かつ Range(cells(i-9,1),cells(i-1,1))にAが入力されていない Then という形にしたいのですが、表現の仕方がわかりません。 ご教示よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロで特定の文字を探して隣のセルの色を変える
エクセルに入力されている特定の文字を探し出して隣のセルに色をつけたいと考えています。 検索の対象となるセルは全てのシートのB列です。 検索する文字は色々な英数字の組み合わせの中に含まれています。 A B 1 10 ABC000012 2 20 AAC000013 3 30 ACC000014 上記のような値が入力されている状態で、B列の"ABC"か"AAC"の何れかが入力されているセルの隣のA列のセルの色を変えたいです。 この場合はA1とA2のセルの色が変わるというイメージです。 VBAを使って処理したいのですが、どなたかご教授頂けないでしょうか。宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 文字の入っているセルをカウントしていくマクロ作成
マクロ初心者です。 文字を検索する列の範囲はD~Fとし、検索開始セルはDとします。 検索結果を表示するセルの先頭セルはAとし、A~Cに結果を表示させます。 もしD2に文字があった場合、A1に”1”を表示させます。 E3に文字があった場合は、A3に”1”を、B3に”1”を表示。 E5に文字があった場合、E列に文字が入ったのが2回目となる為、A5に”1”を、B5に”2”と表示。 上記のように、それぞれの列に何個文字があったのかカウントしていくマクロを作成したいのですが、作成できずに困っています。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- マクロ初心者(;◔ิд◔ิ) 条件一致のセルを選択
マクロ初心者です☆ マクロを、特定の条件と一致したセルを対象に実行したいのですが、 どのように指定すればよいのでしょうか。。。 条件は、、、 A列のセルのうち、B1とイコールのセルを選択 というような単純なものです。 ただし、A列のデータはすべて関数(IF&VLOOKUP)の抽出データです。 ご教示お願いします!!!
- ベストアンサー
- オフィス系ソフト
- エクセル 特定の文字を検索して置き換えるマクロ
次のような連続作業をマクロでできますか。 A列にある特定の文字を検索して、その行にあるB列セルの文字(不定)とそのB列の1行下にあるセルの文字(不定)を連結または置換させてB列に表示 (それぞれ単独に使用) 例 A100に「○○○」の文字を見つけたら、B100にある「□□□□」とB101にある「△△」を連結させB100に「□□□□△△」と置換表示 置き換える場合 A100に「○○○」の文字を見つけたら、B101にある「△△」をB100に「△△」と置換表示 同列の置換は例題でも見つけられて利用できていますが、ひとつ下のセルがからむというのがミソです。 よろしくお願いします。 Windows7/office2013
- ベストアンサー
- Excel(エクセル)
- セル移動マクロを教えて下さい。
エクセルで最終行の次の行(新規入力となる行)の左4つ目のセルに移動するマクロを作りたいのですが、出来るでしょうか。 例えば列Aに1から3000までのNOが入っているとします。 B列からD列までは他のデータに使用しているため新規入力データE列の行から右に入力しています。 NO125の行までデータ入力している場合、ボタンをクリックすれば、A列のNO126(新規入力行のA列)にセルが移動するマクロです。 よろしく、お願いいたします。
- ベストアンサー
- オフィス系ソフト
- Windows11を使用しているが、富士通のサイトに接続できない問題が発生している。
- 無線LANを使用しているが、ルーターのセキュリティーの関係で富士通のサイトにアクセスできない。
- 富士通のPC購入後、同社サイトからマニュアルをダウンロードしようとすると、アクセスできないエラーが表示される。
お礼
御回答ありがとうございます。 書いて頂いた式を再度入力したのですが・・、なぜか検索結果が全く表示されません(;_;) 疑問に思い直接「*コンセント*」と直接ワイルドカードを入力すると結果が表示されます。 いろいろ検証してみた結果、tsubuyukiさんが示して頂いた例の様に「単一」条件の場合に関してはマクロで「*文字列*」と変換してからの検索はできるのですが、「複数」条件になるとこれができなくなるようです。 試しに、tsubuyukiさんの例で、各項目に番号を付け、検索条件にも番号を追加すると、検索結果が出なくなりました。 「含む」の検索をする場合は手入力で「*」を入れる、という方法の方がいいのかもしれません・・(泣