Ciao,
la cosa non è così immediata e richiede nozioni basilari di programmazione, comunque provo a farti un esempio molto semplice con tutti i passaggi in modo che ti possa rendere conto di come funzionano le cose.
Per fare un form devi usare VBA, quindi la prima cosa da fare, se hai excel 2007 o superiori, è di salvare il foglio come "Cartella di lavoro con attivazione macro", cioè xlsm invece di xlsx.
Se invece hai un excel precedente al 2007 va bene il formato xls.
Ora inserisci nelle celle da A1 ad A10 del Foglio1 i valori da 1 a 10 e nelle celle da B1 a B10 le lettere da A a J. Questi sono i dati su cui andremo a lavorare per le prove.
Dopo aver inserito i dati bisogna inserire sul foglio un pulsante che, cliccato, faccia aprire il form, quindi sempre restando sul Foglio1, clicca su Inserisci nella scheda Sviluppo (se non ce l'hai devi attivarne la visualizzazione dalle opzioni di Excel), seleziona il pulsante di comando dai controlli ActiveX e inseriscilo sul foglio.
Clicca due volte sul pulsante in modo da entrare nell'editor di VBA (nell'editor puoi entrare anche con ALT-F11 ma così sei sicuro che il codice che inserisci sia associato a quel pulsante altrimenti potresti sbagliare scheda) e inserisci questo codice:
codice:
Private Sub CommandButton1_Click()
With UserForm1
.TextBox1 = ""
.TextBox2 = ""
.Show
End With
End Sub
Questo codice, attivato dal click sul pulsante, visualizza il form (che ancora non abbiamo creato) e imposta i due campi TextBox (che ancora non abbiamo inserito) al valore vuoto.
Fatto questo devi creare il form semplicmente cliccando su UserForm dal menu Inserisci dell'editor.
Verifica che il form si chiami UserForm1.
Inserisci poi sul form due caselle di testo e verifica, visualizzandone le proprietà, che il nome sia TextBox1 e TextBox2 e poi inserisci un "Pulsante di comando" che servirà per eseguire l'azione associata al form. Il pulsante deve chiamarsi CommandButton1.
Fatto questo il form è completo, occorre solo il codice che deve essere eseguito alla pressione del pulsante. Clicca quindi due volte sul pulsante e inserisci questo codice:
codice:
Private Sub CommandButton1_Click()
If TextBox1 <> "" Then
For Each casella In Range("A:A")
If CStr(casella) = CStr(TextBox1) Then
If TextBox2 = "" Then
TextBox2 = casella.Offset(0, 1)
Else
casella.Offset(0, 1) = TextBox2
End If
Exit For
Else
If casella = "" Then
Exit For
End If
End If
Next
End If
End Sub
Questo codice verifica se nella TextBox1 è stato inserito un valore e lo cerca nella colonna A, se lo trova si chiede se anche nella TextBox2 sia stato inserito un valore, se non è stato inserito preleva il valore dalla colonna B e lo visualizza nella TextBox2, se invece è stato inserito aggiorna il valore della colonna B con quanto inserito nella TextBox2.
Per fare la prova torna sul foglio excel, disattiva la modalità di progettazione con l'apposita icona e clicca sul pulsante.
La struttura che ti ho indicato è molto elementare e grezza (per esempio non prevede la pulizia dei campi fra un utilizzo e l'altro e tante altre cose) ma contiene sostanzialmente tutte le azioni che ti servono cioè la visualizzazione del form e la ricerca e aggiornamento dei dati del foglio.
Ora tocca a te dedicarti ai particolari e se hai bisogno chiedi pure.
Buon lavoro