You are here:---Rispondi a: [RISOLTO] Cerca corrispondente
Rispondi a: [RISOLTO] Cerca corrispondente 2018-07-30T14:05:57+00:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] Cerca corrispondente Rispondi a: [RISOLTO] Cerca corrispondente

sidsid
Moderatore
    Post totali: 433

    Un esempio sicuramente migliorabile:

    Private Sub CommandButton2_Click()
    Dim ws As Worksheet
    Dim rng As Range, rCliente As Range
    Dim nRiga As Long
    Set ws = Sheets("Foglio1")
    Set rng = ws.Range("A2:O2") ' range di ricerca in riga 2...da adattare al tuo file
    
    With rng
        Set rCliente = .Find(Me.ComboBox1.Value, rng(.Rows.Count, .Columns.Count), xlValues, xlWhole)
    End With
    
    If Not rCliente Is Nothing And Me.ComboBox1.Value <> vbNullString And Me.TextBox1.Value <> vbNullString Then
        With rCliente.Offset(0, 1)
            nRiga = IIf(.Value = vbNullString, 0, ws.Cells(Rows.Count, .Column).End(xlUp).Row - 1)
        End With
        rCliente.Offset(nRiga, 1).Value = Me.TextBox1.Value
        Set rCliente = Nothing
        Unload Me
    Else
        MsgBox "Combo e/o textbox vuote", vbExclamation, "ATTENZIONE"
    End If
    Set ws = Nothing
    Set rng = Nothing
    
    End Sub

    Un consiglio: invece di inserire un range a caso nel nome definito “nome”, rendilo flessibile, inserendo solo i valori senza celle vuote, a prescindere se togli o aumenti i nomi in colonna A del foglio2
    Nel nome definito in “Riferito a:” inserisci
    =SCARTO(Foglio2!$A$1;0;0;CONTA.VALORI(Foglio2!$A:$A);1)

    Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

    Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

    Chiudi