Salve a tutti
sono un pensionato (e dunque ancora "analogico") che aiuta in una piccola ONLUS cittadina e sto provando a fare un programmino per la contabilità con il VBA di excel.
La userform creata ha 9 caselle di testo che inseriscono i dati nelle celle del Foglio 1 dalla colonna A fino alla I
(data, codice, causale, Banca entrate, Banca uscite, Posta entrate, Posta uscite, Cassa entrate, Cassa uscite)
Con il seguente comando ad ogni immissione dati questi vengono scritti correttamente nella riga immediatamente successiva. (a partire dalla 5 che le altre sono l'intestazione)
numriga = Sheets("Foglio1").Range("A5").CurrentRegion.Rows.Count
numriga = numriga + 1
Però nelle colonne successive alla I ci sono altri comandi che si attivano all'inserimento della data.
Esempio nella colonna J
=SE(A7<>"";J6+D7-E7;"")
ovvero se la colonna A alla riga 7 contiene la data (cioè sono stati inseriti dei dati anche nelle celle successive) mi sommi il saldo precedente J6 + nuove entrate D7 - nuove uscite E7 e così via.
fin qui tutto bene, se c'è la data avvengono tutte le immissioni e le successive operazioni, ma se questa ultima formula la scrivo ad esempio nelle prime 10 righe della colonna J affinché ad ogni immissione dati mi ritrovi automaticamente il saldo finale,
VBA legge queste righe contenenti la formula come piene e in virtù del precedente numriga = numriga + 1 inizia a scrivere dalla riga 11 perchè nelle righe precedenti vede che c'è qualcosa.
Per le righe va bene As Long, ma come posso fare per delimitare il range da A a I per le colonne affinché VBA consideri solo le 9 colonne e non legga anche la J, K, ecc.
Grazie infinite