dimanche 26 juillet 2020

If Else statement only working for the last row of data in Excel VBA Userform

I'm struggling with something that sounds very simple, but there's something wrong with my code.

I have a userform with 2 textboxes when I type a 'serial number' in textbox 1, the 'RMA Number' in textbox 2 auto populates if the serial number matches an existing field in the 'RMA' column in the sheet.

If it does not match I want textbox2 to clear up or say "No Match"

I did the If-Then-Else type of code but it seems to work only for the very last entry at the moment...

What do I need to change in my code so it can match all the entries AND clear up when the Serial Number does not match??

    'Autopopulate RMA# with Serial Number

     Private Sub SN_TextBox1_Change()


     Dim serial1_id As String
     serial1_id = UCase(Trim(SN_TextBox1.Text))
     lastrow = Worksheets("RMA Tracker").Cells(Rows.Count, 1).End(xlUp).Row


       For i = 1 To lastrow
          If UCase(Worksheets("RMA Tracker").Cells(i, 4).Value) = serial1_id Then
          RMA_TextBox1.Text = Worksheets("RMA Tracker").Cells(i, 1).Value
    
    
          Else
    
           RMA_TextBox1.Value = ""
   
    
    
          End If
    

       Next i


      End Sub


Aucun commentaire:

Enregistrer un commentaire