• 締切済み

VBA ジャンプで検索した複数セル番地の取得

教えてください。 一覧票の中で、#N/Aエラーになっているセル番地を拾って、別ワークブックに転記していきたいです。 試してみた方法ですが、 対象のデータをひらく→条件を検索してジャンプ→数値のエラー値を選択 →結果 #N/Aが出ているセル番地を1つだけ取得することはできました。ですが、複数該当している時は全てのセル番地が取得できないようです。(セルは複数選択された状態になっているのですがセル番地の一番若いものだけ取得しているようです) そもそもVBAで"条件を検索してジャンプ"から探そうとするのが無理なのでしょうか。

みんなの回答

  • SI299792
  • ベストアンサー率48% (713/1474)
回答No.3

別ワークブックが何なのか解らないので、新しいワークブックを開いてそこに入れます。 Option Explicit ' Sub Macro1()   Dim Cell As Range   Dim ROut As Long '   Set Cell = Cells.SpecialCells(xlCellTypeFormulas, 16)   Workbooks.Add '   For Each Cell In Cell     ROut = ROut + 1     Cells(ROut, "A") = Cell.Address(False, False)   Next Cell End Sub

  • kkkkkm
  • ベストアンサー率65% (1617/2456)
回答No.2

イミディエイトに結果を出力します。 'ジャンプを使った場合 範囲にエラーのセルが無い場合VBAがエラーになります 'エラー処理をどうするかは考えてください。 Sub Test() Dim mRng As Range '選択したセル範囲でしたら(選択したセルがひとつだけなら全ての範囲みたい) Selection.SpecialCells(xlCellTypeFormulas, 16).Select '範囲が決まっているのでしたら 'Range("A1:C10").SpecialCells(xlCellTypeFormulas, 16).Select For Each mRng In Selection Debug.Print mRng.Address Next End Sub 'ジャンプを使わないで範囲を全てチェックする 範囲にエラーのセルが無い場合はエラーにならず何もおこりません Sub Test2() Dim mRng As Range For Each mRng In Selection '範囲が決まっているのでしたら 'For Each mRng In Range("A1:C10") If IsError(mRng.Value) Then Debug.Print mRng.Address End If Next End Sub

  • luka3
  • ベストアンサー率74% (297/399)
回答No.1

http://szkkei.main.jp/excel/cell/cell001/cell001.html こちらにエラー検索の例があるので、#N/Aエラーの行をやりたい処理に変更すればいいのではないでしょうか。

関連するQ&A

  • VBAでマウスボタンが離された時のセル番地を取得

    エクセル2010のVBAを使ってマウスのボタンが離された場所のセル番地を取得することはできますか?  例えば  マウスの左ボタンをA5の位置で離したとしたらA5というセル番地が返されるようにしたいです(ボタンを離したときのセルはアクティブセルではないという条件で)。

  • エクセル セル番地の取得について

    A1~A50のセルに関数式(条件式)が入っており、このA1~A50のセルの値が1又は0と表示されます。その時1が表示されているセル番地を取得したい(知りたい)のですがどうすれば良いのですか?1が表示されるセルは複数あります。 たぶんマクロになると思うのですがご教示お願いします。

  • VBAで選択したセル番地を取得する方法はありますか??

    エクセルので複数のセルを選択し、その後マクロを実行し、全てのセル番地を取得したいのですがそのような事は可能なのでしょうか??分かる方がいらっしゃいましたらお願いします。

  • excelで検索値の入っているセル番地を取得するには?

    お世話になります。 Excelの関数に関して質問させていただきます。 特定の範囲からある値を検索し、そのセルの番地(または行・列番号)を取得したいのですが、関数で可能でしょうか。 検索値は:ぢ --------------------------------------- |  あ  |  い  |  う  |  え  |  を  | --------------------------------------- |  だ  |  ぢ  |  づ  |  で  |  ど  | --------------------------------------- このとき"う"の入っているセルの番地(または行・列番号)を取得したい。 既出でしたらすいません。 よろしくお願いいたします。

  • エクセルVBAで指定したセルへジャンプするコード

    こんにちは。ファイル内の各シートのセルに順にジャンプするVBAのコードを教えていただけないでしょうか。以下のような条件や構成にしたいと考えています。 ・「操作ブック」と名づけたファイルに「設定」シートをつくり次のようにする A列B列の2行目以下に「シート名」「セル番地」を入力し、ジャンプするセルを入力 (例) A B←うまく表になりませんがB列がセル番地です Sheet1 E9 Sheet1 U7 Sheet2 S2 ・ジャンプする先は「操作ブック」内ではなく、開いている“もうひとつのブック内”の各シート ・ジャンプして選択したセルに一時的に色をつけ、次に進む時は色を元に戻す(難しいのであれば結構ですが、できればすごくうれしいです) ・「設定」シートに入力した上から下に順にジャンプする。ジャンプする前にメッセージで、「次に進みますか?」と聞き、「はい」で次のセルにジャンプする という設定にしたいのですが、マクロでジャンプの記録をとってみましたが、私にはとてもできない記述なので、教えていただきたく参りました。 よろしくお願いします。

  • 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関数を使用してやってみたのですが、氏名と番号をセットで検索する方法がわかりません。 氏名と番号をくっつけて検索すればいいのでしょうか?

  • 複数行列のセル範囲から検索する方法

    Excel2003を使っています。 A1:Z80のセル範囲から指定した値を検索し、その値の番地を取得する方法を教えてほしいです。 重複する値は入力されていませんが、空白セルもあります。 他のシートの任意のセルに検索したい値を入力し、見つけた番地にたいするリンクを設定したいのです。 VBAでも関数でもいいので、力を貸して下さい。

  • VBA セルのジャンプ

    教えて下さい。 Excelにて、シート1のA行のある番号セルをクリックすると、シート2の番号一覧の同じ番号のセルにジャンプするというマクロを組みたいのですが、どうすればいいでしょうか?

  • Excel VBA 条件付書式の条件満たすセル取得

    Excel2010のVBAで条件付書式の条件を満たすセルの番地を取得したい 具体的には、 Excel2010のあるシートのあるセル範囲(例えばA1~XFD1048576)に 条件付き書式が付けてあって、 (例えば、数式の条件が満たされたら背景色を赤色にするなど) この条件を満たすセルに指定した書式が付けられて表示されています。 この状態で、VBAで、この条件を満たしたセルの番地を、 順番に取得したいのですが、どのように記述すればよいでしょうか。 【追記】 数式をすべてのセルに入れて検出する方法や セルをひとつずつ数式に当てはめてみていく方法は、 セルが膨大なため容量的・時間的にNGです。 このため、条件付き書式で回避しています。 条件付き書式の判定結果である書式(この場合でしたら背景色が赤色) で判断する必要があります。(書式は背景色が赤色でなくてもいいです) よく分かりませんが、検索の中の書式で指定しても、 この条件付き書式の判定結果の書式はヒットしませんでした。

  • 【excel VBA】 配列番地の検索

    excel2000のVBAで二次元配列を検索して、 検索条件に一致する配列の番地を取得するための、 コード記述に関する質問です。 例えば、 myarray(i,j), i=1,j=1の配列があるとして、それぞれに myarray(0,0) = 1 myarray(0,1) = 2 myarray(1,0) = 3 myarray(1,1) = 4 という値が格納されており、 配列を検索して値が4の番地(i=1,j=1)を返したい、 といった場合、どのようにすれば良いのでしょうか。 ご存知の方、是非回答お願いします。

専門家に質問してみよう