[Risolto] Incrementare formula tramite Lastrow

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

[Risolto] Incrementare formula tramite Lastrow

Messaggio da Luka2017 »

Buongiorno avrei necessita' di un aiuto.
vi allego un file dove nel Foglio2, tramite la macro Rec_inv scrivo i dati gia' presenti.
Il mio problema è che non riesco a far scrivere in automatico nelle colonne I J K le formule gia' presenti nelle righe precedenti.
Grazie mille
Allegati
INVENTARIO.ods
(240.89 KiB) Scaricato 106 volte
Ultima modifica di charlie il martedì 14 gennaio 2020, 9:45, modificato 1 volta in totale.
Motivazione: Aggiunto [Risolto] e spunta verde.
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Incrementare formula tramite Lastrow

Messaggio da patel »

per copiare un range in un'altra posizione puoi usare questo codice da adattare al tuo caso

Codice: Seleziona tutto

Sub Main
' copia un range in un altro indicando la cella
  With ThisComponent.Sheets(0)
    Range = .getCellRangeByName("A3:B10").getRangeAddress()
    CellAddress  = .getCellRangeByName("D3").getCellAddress()  
    .copyRange(CellAddress, Range)
  end with
end sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Incrementare formula tramite Lastrow

Messaggio da Luka2017 »

Grazie della risposta pero' come vedi nella macro Rec_inv io scrivo i dati nelle colonne dalla A alla H con il metodo lastrow.
Io vorrei che le formule gia' salvate attualmente nelle colonne I J K continuassero automaticamente quando si aziona la macro Rec_inv
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Incrementare formula tramite Lastrow

Messaggio da patel »

basta ricopiare il range delle colonne I-K relativo all'ultima riga nella nuova riga aggiunta, se non riesci allega un file di esempio che simuli l'aggiunta di nuovi dati senza finestra di dialogo
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Incrementare formula tramite Lastrow

Messaggio da Luka2017 »

ok
Ultima modifica di Luka2017 il lunedì 30 dicembre 2019, 19:36, modificato 1 volta in totale.
Open office 3.1 Windows 7
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Incrementare formula tramite Lastrow

Messaggio da Luka2017 »

Ti allego il file all'interno è presente la macro che uso per scrivere i dati nel foglio 2 e vorrei che nella colonna i j k le formule attualmente scritte continuassero
di pari in passo con i dati che si scrivono dalle colonne dalla a alla h
Allegati
test.ods
(10.85 KiB) Scaricato 104 volte
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Incrementare formula tramite Lastrow

Messaggio da patel »

prova ad aggiungere

Codice: Seleziona tutto

With Sheet
    Range = .getCellRangeByName("I" &  LastRow-1 & ":K" & LastRow-1).getRangeAddress()
    CellAddress  = .getCellRangeByName("I" &  LastRow).getCellAddress() 
    .copyRange(CellAddress, Range)
end with
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Incrementare formula tramite Lastrow

Messaggio da Luka2017 »

ti volevo ringraziare funziona
Open office 3.1 Windows 7
Rispondi