こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBA

一つ人一つのセルの値を上から順番に比較していき、マッチしたらそのマッチしたセルの行の値を拾ってnの関数に格納する方法を教えてください。

投稿日時 - 2019-03-03 15:07:44

QNo.9593251

困ってます

質問者が選んだベストアンサー

>セルの縦列に色々な値が入っています
これが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

投稿日時 - 2019-03-04 13:13:20

お礼

ありがとうございました。
解決しました。

投稿日時 - 2019-03-18 10:12:05

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

一つ人一つの...ひとつひとつのということだろうと推測できる。
セルの値を上から順番に比較していき、マッチしたら...事前に比較対象の値が与えられていると仮定できる。
そのマッチしたセルの行の値...行番号のこと?それともマッチした行の他の列の値のこと?
を拾ってnの関数に格納する方法...nの関数というのが意味不明です。

もう少し他人にわかるように書いてください。

投稿日時 - 2019-03-03 17:42:34

補足

失礼いたしました。
質問を整理します。
セルの縦列に色々な値が入っています。
最初にインプットボックスに任意の値をいれて
その値を上記のセルの上から順に比較をしていきます。
比較してインプットボックスの値と順番に読み込んだ値がマッチしたときのセルの縦の値をひろうということが目的です。
宜しくお願いいたします。

投稿日時 - 2019-03-04 09:58:13

あなたにオススメの質問