- 締切済み
VBA ジャンプで検索した複数セル番地の取得
教えてください。 一覧票の中で、#N/Aエラーになっているセル番地を拾って、別ワークブックに転記していきたいです。 試してみた方法ですが、 対象のデータをひらく→条件を検索してジャンプ→数値のエラー値を選択 →結果 #N/Aが出ているセル番地を1つだけ取得することはできました。ですが、複数該当している時は全てのセル番地が取得できないようです。(セルは複数選択された状態になっているのですがセル番地の一番若いものだけ取得しているようです) そもそもVBAで"条件を検索してジャンプ"から探そうとするのが無理なのでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- SI299792
- ベストアンサー率47% (788/1647)
別ワークブックが何なのか解らないので、新しいワークブックを開いてそこに入れます。 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
- ベストアンサー率66% (1742/2617)
イミディエイトに結果を出力します。 'ジャンプを使った場合 範囲にエラーのセルが無い場合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
- ベストアンサー率72% (453/623)
http://szkkei.main.jp/excel/cell/cell001/cell001.html こちらにエラー検索の例があるので、#N/Aエラーの行をやりたい処理に変更すればいいのではないでしょうか。