allora... se ho capito bene dovrebbe essere una cosa di questo tipo:
innanzi tutto trovi la prima riga vuota nel foglio:
Codice:
Public r As Integer 'dichiaro una variabile pubblica perchè può servire a molte sub
Private Sub UserForm_Initialize()
trova_riga_vuota '<-- richiama la sub per cercare la prima riga vuota
End Sub
Sub trova_riga_vuota()
r = 0
Do
r = r + 1
Loop Until Foglio1.Cells(r, 1) = "" And _
Foglio1.Cells(r, 2) = "" And _
Foglio1.Cells(r, 3) = "" Or r = 5000
'esegue il DO fino a che non trova le prime 3 celle vuote oppure quando r = 5000 (per evitare che vada in overflow)
End Sub
poi passi a inserire semplicemente i dati a quella riga che hai trovato essere vuota:
Codice:
Private Sub cmdInserisci_Click()
foglio1.cells(r, 1) = txtData.text
foglio1.cells(r, 2) = cmbCategoria.value 'suppongo sia una combobox
foglio1.cells(r, 3) = txtSpesa.text
trova_riga_vuota 'ricontrolla tutte le righe ad ogni inserimento (l'ho aggiunto ora)
End Sub
questo penso funzioni, fammi sapere se hai problemi o semplicemente se hai risolto ciao!