Grazie optime scusami se dirò qualche stupidata, ti posto il codice, spero si capisca.
Imposto combio nome della label quando l'utente si mette in una determinata cella della colonna;
Imposto la funzione like;

codice:
Private Sub lbl1_Resize(sender As Object, e As System.EventArgs) Handles lbl1.Resize
    txtCerca.Left = lbl1.Left + lbl1.Width + 10
End Sub


Private Sub datagridviewconai_CellEnter(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridViewconai.CellEnter


    lbl1.Text = "Cerca " + DataGridViewconai.Columns(e.ColumnIndex).HeaderText


End Sub


Public Sub Cerca(ByVal SearchString As String, ByRef datagridviewconai As DataGridView)
   
 If SearchString <> "*" Then


        Dim sFind As String = SearchString
        Dim Operatore As String = "="


        If sFind.Contains("*") Then
            Operatore = " Like "
            txtCerca.Text = txtCerca.Text.Replace("*", "%")


        End If




        Dim datOrigine As DataTable = datagridviewconai.DataSource


        If Not IsNothing(datagridviewconai.SortedColumn) And Operatore.Equals("=") Then


            'E' ordinata
            If Operatore.Equals("=") Then
                'Cerco esattamente il valore richiesto
                Dim R As Integer = datOrigine.DefaultView.Find(SearchString)
                If R >= 0 Then
                    datagridviewconai.CurrentCell = datagridviewconai.Rows(datOrigine.DefaultView.Find(SearchString)).Cells(datagridviewconai.CurrentCell.ColumnIndex)


                Else
                End If
            End If
        Else
            'Non è ordinata
            Dim fr() As DataRow


            fr = datOrigine.Select("[" & datagridviewconai.Columns(datagridviewconai.CurrentCell.ColumnIndex).DataPropertyName & "]" & Operatore & "'" & sFind & "'", datagridviewconai.Columns(datagridviewconai.CurrentCell.ColumnIndex).DataPropertyName.ToString)




            If fr.Count > 0 Then


                Dim Trovato As Boolean = False
                For Each R As DataRow In fr
                    If datOrigine.Rows.IndexOf(R) > datagridviewconai.CurrentRow.Index Then


                        datagridviewconai.CurrentCell = datagridviewconai.Rows(datOrigine.Rows.IndexOf(R)).Cells(datagridviewconai.CurrentCell.ColumnIndex)
                        Trovato = True
                        Exit For
                    End If
                Next
                If Not Trovato Then
                    datagridviewconai.CurrentCell = datagridviewconai.Rows(datOrigine.Rows.IndexOf(fr(0))).Cells(datagridviewconai.CurrentCell.ColumnIndex)
                End If
            Else


            End If
        End If


    End If


End Sub
Private Sub txtCercaKey_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtCerca.TextChanged
    Cerca(txtCerca.Text, DataGridViewconai)
End Sub
Se non ti è chiaro fammi sapere
Non capisco se il codice lo devo screivere all'interno del textbox