[Risolto] macro per inserire una nuova riga dati
[Risolto] macro per inserire una nuova riga dati
Ciao a tutti
sto cercando di elaborare un foglio per gestire il budget familiare.
mi servirebbe creare una macro che mi consenta tramite pulsante di inserire una nuova riga in un elenco e che contemporaneamente mi spostasse quelle esistenti più in basso
per spiegarmi meglio allego un file di prova
in pratica tramite il tasto "inserisci" vorrei inserire una nuova riga (la 75), spostare quindi quelle esistenti già completate più in basso e posizionare il cursore in B75 per un nuovo inserimento dati.
Spero di essere stato chiaro
grazie in anticipo a chi vorrà aiutarmi
ciao
sergio
sto cercando di elaborare un foglio per gestire il budget familiare.
mi servirebbe creare una macro che mi consenta tramite pulsante di inserire una nuova riga in un elenco e che contemporaneamente mi spostasse quelle esistenti più in basso
per spiegarmi meglio allego un file di prova
in pratica tramite il tasto "inserisci" vorrei inserire una nuova riga (la 75), spostare quindi quelle esistenti già completate più in basso e posizionare il cursore in B75 per un nuovo inserimento dati.
Spero di essere stato chiaro
grazie in anticipo a chi vorrà aiutarmi
ciao
sergio
- Allegati
-
- prova.ods
- (20.74 KiB) Scaricato 418 volte
Ultima modifica di oigres il lunedì 9 novembre 2015, 9:13, modificato 1 volta in totale.
LibreOffice 4.3.6.2 / windows 7
Re: macro per inserire una nuova riga dati
Codice: Seleziona tutto
Sub inseriscirigA
oSheet = ThisComponent.Sheets(0)
oRangeAddress = oSheet.getCellRangeByName("A75").getRangeAddress()
oSheet.insertCells(oRangeAddress, com.sun.star.sheet.CellInsertMode.ROWS)
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
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
Re: macro per inserire una nuova riga dati
Grazie Patel
in parte funziona ma io vorrei che contemporaneamente mi spostasse il cursore nella colonna B della nuova riga inserita in modo tale da poter inserire nuovi dati.
Chiedo troppo?
ancora grazie
ciao
sergio
in parte funziona ma io vorrei che contemporaneamente mi spostasse il cursore nella colonna B della nuova riga inserita in modo tale da poter inserire nuovi dati.
Chiedo troppo?
ancora grazie
ciao
sergio
LibreOffice 4.3.6.2 / windows 7
Re: macro per inserire una nuova riga dati
hai chiesto di inserire una riga in B75, dopo che è stata inserita cosa farai ? la prossima riga sempre in B75 ?
-------------------
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
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
Re: macro per inserire una nuova riga dati
Sì, in pratica il cursore dovrebbe posizionarsi in B75 in modo da poter inserire nuovi dati.
E così di seguito. Quindi la riga 75 è sempre quella nuova per inserimento nuovi dati e le altre vengono di volta in volta spostate in basso.
Spero di essere stato chiaro.
Ancora grazie
Buona giornata.
Sergio
E così di seguito. Quindi la riga 75 è sempre quella nuova per inserimento nuovi dati e le altre vengono di volta in volta spostate in basso.
Spero di essere stato chiaro.
Ancora grazie
Buona giornata.
Sergio
LibreOffice 4.3.6.2 / windows 7
Re: macro per inserire una nuova riga dati
Per posizionare il cursore nella cella B75 ti basta aggiungere questa riga di codice alla fine ma prima di End Sub della macro di patel
Però avrai notato che nella nuova riga non è più presente il menu a tendina, se ti serve che ci sia spiega da dove deve prendere i dati perchè nell'esempio la formula è errata.
Codice: Seleziona tutto
ThisComponent.CurrentController.Select(oSheet.getCellRangeByName("B75"))
Però avrai notato che nella nuova riga non è più presente il menu a tendina, se ti serve che ci sia spiega da dove deve prendere i dati perchè nell'esempio la formula è errata.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: macro per inserire una nuova riga dati
ciao gaetanopr,
grazie anche a te per l'aiuto.
ho aggiunto la riga di codice che hai suggerito ma la macro pur funzionando, mi mi da errore e dice "Errore di runtime BASIC. Variabile dell'oggetto non impostata"
per quanto riguarda il menù a tendina,che ovviamente serve che rimanga, i dati li deve prendere dalle celle c10:C14
ancora grazie
buon pomeriggio
sergio
grazie anche a te per l'aiuto.
ho aggiunto la riga di codice che hai suggerito ma la macro pur funzionando, mi mi da errore e dice "Errore di runtime BASIC. Variabile dell'oggetto non impostata"
per quanto riguarda il menù a tendina,che ovviamente serve che rimanga, i dati li deve prendere dalle celle c10:C14
ancora grazie
buon pomeriggio
sergio
LibreOffice 4.3.6.2 / windows 7
Re: macro per inserire una nuova riga dati
Codice: Seleziona tutto
Sub inseriscirighe
Dim oSheet, oRangeAddress
Doc=ThisComponent
oSheet = Doc.Sheets(0)
oRangeAddress = oSheet.getCellRangeByName("A75").getRangeAddress()
oSheet.insertCells(oRangeAddress, com.sun.star.sheet.CellInsertMode.ROWS)
Range = oSheet.getCellRangeByName("F74").getRangeAddress()
CellAddress = oSheet.getCellRangeByName("F75").getCellAddress()
oSheet.copyRange(CellAddress, Range)
Doc.CurrentController.Select(oSheet.getCellRangeByName("B75"))
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
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
Re: macro per inserire una nuova riga dati
grazie patel,
sembra che la tua macro funzioni!
unica cosa la macro funziona se il foglio con la tabella e il pulsante con la macro relativa è al primo posto di una serie di fogli. Se è preceduto da altri fogli la macro aggiunge la riga 75 al primo foglio .... misteri
comunque non è un grosso problema.
buona serata e buona domenica
sembra che la tua macro funzioni!
unica cosa la macro funziona se il foglio con la tabella e il pulsante con la macro relativa è al primo posto di una serie di fogli. Se è preceduto da altri fogli la macro aggiunge la riga 75 al primo foglio .... misteri
comunque non è un grosso problema.
buona serata e buona domenica
LibreOffice 4.3.6.2 / windows 7
Re: macro per inserire una nuova riga dati
non è un mistero, la riga
indica che il foglio su cui la macro lavora è il Foglio1, se invece fosse il foglio 4 dovresti scrivere
Codice: Seleziona tutto
oSheet = Doc.Sheets(0)
Codice: Seleziona tutto
oSheet = Doc.Sheets(3)
-------------------
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
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
Re: macro per inserire una nuova riga dati
perfetto.
ancora grazie mille!
buona giornata
ancora grazie mille!
buona giornata
LibreOffice 4.3.6.2 / windows 7