- ベストアンサー
VBA
一つ人一つのセルの値を上から順番に比較していき、マッチしたらそのマッチしたセルの行の値を拾ってnの関数に格納する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>セルの縦列に色々な値が入っています これが1枚目のシートの1列目(A列)という条件なら かつ、 途中に空白のセルが無い条件なら、 こんなコードでいかがでしょうか。 Option Explicit Sub Sample() Dim RowCounter As Long Dim TGSheet As Worksheet Dim HitFlg As Boolean Dim rcData As String rcData = InputBox("データ入力") Set TGSheet = ThisWorkbook.Sheets(1) HitFlg = False RowCounter = 1 If rcData = "" Then Exit Sub Do If TGSheet.Cells(RowCounter, 1).Value = "" Then Exit Do If TGSheet.Cells(RowCounter, 1).Value = rcData Then HitFlg = True MsgBox "ヒットしました:" & rcData & " /行番号:" & Format(RowCounter, "0") Exit Sub End If RowCounter = RowCounter + 1 Loop If HitFlg = False Then MsgBox "ヒットしません:" & rcData End If End Sub
その他の回答 (1)
- f272
- ベストアンサー率46% (8536/18274)
一つ人一つの...ひとつひとつのということだろうと推測できる。 セルの値を上から順番に比較していき、マッチしたら...事前に比較対象の値が与えられていると仮定できる。 そのマッチしたセルの行の値...行番号のこと?それともマッチした行の他の列の値のこと? を拾ってnの関数に格納する方法...nの関数というのが意味不明です。 もう少し他人にわかるように書いてください。
補足
失礼いたしました。 質問を整理します。 セルの縦列に色々な値が入っています。 最初にインプットボックスに任意の値をいれて その値を上記のセルの上から順に比較をしていきます。 比較してインプットボックスの値と順番に読み込んだ値がマッチしたときのセルの縦の値をひろうということが目的です。 宜しくお願いいたします。
お礼
ありがとうございました。 解決しました。