[[20050607141151]] 『指定した文字列の隣の値を抜き出す方法』(まるゆ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定した文字列の隣の値を抜き出す方法』(まるゆ)

当方2000を使用しております。

今、下記のようなデータがあったとします。

      A         B     C

   あああ        100       111

   いいい        200       222   

   あああ        300       333   

   ううう        400       444   

   えええ        500       555   

   おおお        600       666   

    ・       ・      ・

今、列Aの中で"あああ"のものの列Cの値("あああ"という値が入っているセルの2つ右のセルの値)だけを抽出して別シートにでも書き出したいのです。上記の場合ですと111と333だけを抽出することになります。

この文字は今は1行目と3行目にありますが、必ずしもここにあるとは限りません。2行目にのみあるかもしれないし、存在しないかもしれません。

通常セルの値を変数に格納するには

Dim AS XXX Range
XXX = RANGE("C1").Value となりますが、"あああ"という値が入ったセルの2つ右のセルの値という場合はどうすればいいのでしょうか?

また、"あああ"が存在しない or 複数ある場合もあるので、フイルタを使うべきなのでしょうか?

教えてください。宜しくお願いします。


 方法は、色々あるとおもいますが、編集→検索を記録して加工されてはどうでしょうか?
Option Explicit
Sub てすと()
Dim MyTbl As Range
Dim C As Range
Dim Fad As String
    With Sheets("Sheet1")
        Set MyTbl = .Range("A1", .Range("A65536").End(xlUp))
    End With
    Set C = MyTbl.Find("あああ", , xlValues, xlWhole, xlByColumns, xlPrevious, True, False)
        If Not C Is Nothing Then
            Fad = C.Address
            Do
                Set C = MyTbl.FindNext(C)
                Sheets("Sheet2").Range("A65536").End(xlUp).Offset(1).Value = C.Offset(, 2).Value
            Loop Until Fad = C.Address
        Else
            MsgBox "ヒットしませんでした"
        End If
    Set C = Nothing
Set MyTbl = Nothing
End Sub
(SoulMan)


できました。ありがとうございました。返信送れてしまい申し訳ありませんでした。(まるゆ)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.