投稿者 るきお  (社会人) 投稿日時 2020/9/7 19:42:58
たとえば、次のような感じになります。

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

    Dim strText As String = TextBox1.Text

    For Each row As DataGridViewRow In DataGridView1.Rows
        For Each c As DataGridViewCell In row.Cells
            Dim Data As String = c.Value?.ToString
            If Data = strText Then
                'Visual Basic 2013以前の場合 
                'MsgBox("列" & c.ColumnIndex + 1 & "と" & "行" & c.RowIndex + 1 & "に存在しています値は" & Data & "です") 

                'Visual Basic 2015以降ならこう書くほうが楽 
                MsgBox($"列{c.ColumnIndex + 1}と行{c.RowIndex + 1}に存在しています値は{Data}です")
            End If
        Next
    Next
End Sub



DataGridViewは複数の行(DataGridViewRow)から構成されます。それぞれの行は複数のセル(DataGridViewCell)から構成されます。
このような2重構造になっているので、ループで値を検索と二重ループが必要です。