[Risolto]macro

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

[Risolto]macro

Messaggio da maxvero »

Buongiorno a tutti,
come spesso capita sono in difficoltà. Questa volta con le macro ( troppo difficili per il mio sapere ).
Ho tentato in tutte le maniere di andarne a capo ma non c’è nulla da fare senza le basi e un minimo di conoscenza non si va lontano.
Per un giovane amico che si è aperto una piccola attività artigianale ho impostato due foglio con calc di libreoffice per “Preventivo” e “Fattura”.
Adesso volevo creare un foglio di archivio dei dati delle fatture usando un pulsante che in automatico mi inserisca i dati delle fatture nel foglio di ARCHIVIO.
Ho girato e rigirato in internet per trovare la soluzione ma con pochi risultati. Quello che sono riuscito ad impostare è poca cosa scopiazzata malamente.
Sottopongo alla vostra generosità i file che allego, chiedo suggerimenti.
Grazie
Allegati
BASIC.odt
(27.48 KiB) Scaricato 54 volte
archivio.ods
(143.05 KiB) Scaricato 56 volte
Ultima modifica di maxvero il mercoledì 11 ottobre 2023, 11:20, modificato 1 volta in totale.
OpenOffice 4.1.3 su Windows 8.1
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro

Messaggio da Gaetanopr »

maxvero ha scritto: martedì 3 ottobre 2023, 19:16 Ho girato e rigirato in internet per trovare la soluzione ma con pochi risultati. Quello che sono riuscito ad impostare è poca cosa scopiazzata malamente.
Sottopongo alla vostra generosità i file che allego, chiedo suggerimenti.
Grazie
Hai fatto una ricerca sul forum? io ho cercato "archivio fatture" e ho trovato un bel pò di esempi.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Ciao Gaetanopr, in tutta sincerità ho cercato parecchio ho trovato qualche cosa che ho adattato come hai visto dal mio allegato ma non ho trovato quello che mi risolve il problema. Sicuramente dipende dai miei limiti. Per questo ti chiedo se gentilmente mi puoi dare delle indicazioni precise di dove posso andare a vedere e che faccia al caso mio ( vedi mie indicazioni e allegati. Grazie ancora per l' interessamento.
OpenOffice 4.1.3 su Windows 8.1
Avatar utente
Biagio91
Messaggi: 244
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: macro

Messaggio da Biagio91 »

Mi intrometto spero non a sproposito.
Ho buttato un occhio alla macro che hai scritto e il ragionamento sembra giusto, almeno, non mi sembri distante da quanto vuoi fare.
Che errori ti da? hai controllato che i nomi siano corretti? forse visto che dichiari un po' di variabili allora tanto vale dichiararle tutte, tipo il foglio fattura il foglio archivio come object e riga come integer ecc, poi magari all'inizio potresti aggiungere un controllo per verificare se i dati del foglio fattura corrispondono con i dati presenti all'ultima riga dell'archivio (If ...... AND.....AND) allora non ti inserisce in archivio la fattura attuale ma ti da riscontro di un msg con il testo che vuoi, giusto per non avere doppioni.
Qual'è il tuo problema nello specifico?
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro

Messaggio da Gaetanopr »

Biagio91 ha scritto: mercoledì 4 ottobre 2023, 11:38 ... forse visto che dichiari un po' di variabili allora tanto vale dichiararle tutte, tipo il foglio fattura il foglio archivio come object e riga come integer ecc
Biagio91, se devi dichiarare le variabili devi stare attento a dichiararle per quelle che sono, gli indici di riga sono sempre dei Long e non Integer come anche gli indici di colonna.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
Biagio91
Messaggi: 244
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: macro

Messaggio da Biagio91 »

Ahn, perdona l'ignoranza, me la spieghi meglio sta cosa per favore? sono curioso, è a causa della dimensione o altro?

Grazie mille
Ciao
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro

Messaggio da Gaetanopr »

Biagio91 ha scritto: mercoledì 4 ottobre 2023, 12:43... è a causa della dimensione o altro?
I dati con cui si lavora possono essere di diverso tipo, Numeri, Stringhe, i numeri possono essere Interi o con la virgola, in Basic di OpenOffice ce ne sono di 5 tipi, mi soffermo solo su 2.
Integer che va da un numero intero compreso tra -32768 e 32767 e Long valori interi compresi tra -2147483648 e 2147483647, se con un ciclo ti trovi ad elaborare la riga 32769 e la variabile ad esempio i che attraversa le righe è stata dichiarata come Integer la macro si arresterebbe andando in owerflow cioè supererebbe i limiti che può contenere la variabile di tipo Integer, considera che le righe totali su un foglio di OpenOffice sono più di un milione quindi l'errore è dietro l'angolo, oltretutto anche se ti trovi a lavorare con righe al sotto del limite non andrai in errore ma costringi OpenOffice a fare conversioni interne tra i vari tipi restituiti e assegnati con le variabili.

Ti allego un esempio, lancia questa macro con variabile Riga dichiarata come Integer e poi cambiala in Long

Codice: Seleziona tutto

Sub Main
Dim Riga As Integer
Riga =  ThisComponent.Sheets(0).GetCellRangeByName("A32769").CellAddress.Row
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Cio amici, gentilissimi.
Ho non poche difficoltà a seguirvi vista l' ignoranza in materia e poi non poco incidono i miei 73 ....
Guarderò con calma sperando di capirci qualche cosa.
Adesso sono appena rientrato.
Questa mattina sveglia alle 5.00 per andare a pescare. Sicuramente i risultati della pesca ( 6 Kg. di orate con le canne da terra ) sono sicuramente piu' proficui del Basic dove ne capisco poco o niente.
Comunque grazie ancora continuate ad aiutarmi.
Ciao ragazzi ( siete tutti ragazzi per chi è avanti con l' ... )
OpenOffice 4.1.3 su Windows 8.1
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Grazie a tutti,
non avendo le basi del basic per me è impossibile, non è materia che si acquisisce in poco tempo.
Tentato e ritentato senza risultati.
OpenOffice 4.1.3 su Windows 8.1
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro

Messaggio da Gaetanopr »

Ciao, questo è un inizio, ho cambiato alcune cose nella macro, ho formattato il campo Partita IVA come testo in quanto la partita iva potendo iniziare con lo zero necessita di essere un campo testuale.
Io aggiungerei un controllo per VERIFICARE se la fattura non è stata già inserita altrimenti ad ogni pressione ne archivii una copia.
Allegati
archivio.ods
(143.29 KiB) Scaricato 61 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Grazie Gaetanopr,
ti ringrazio per gli aiuti che mi stai dando, ma purtroppo procedo con molte difficoltà.
1° problemino - Quando cerco di apportare piccole modifiche alla macro e clicco il pulsante con freccia ( esegui) mi compare la scritta " Per motivi di sicurezza non è possibile eseguire la macro" come posso sbloccare il tutto ? ( vedi allegato )
2° problemino - quando inserisco la fattura numero 2 e premo il pulsante " Pulsante " il foglio ARCHIVIO non si aggiorna. Dove sto sbagliando ?
Grazie ancora

P.S. Chiedo gentilmente istruzioni comprensibili per un neofita che a fatica cerca di fare i primi passi con le macro
Allegati
piccole modifiche.png
piccole modifiche.png (77.58 KiB) Visto 1538 volte
OpenOffice 4.1.3 su Windows 8.1
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro

Messaggio da Gaetanopr »

Avendo allegato un file con la macro pensavo sapessi come fare.
Per farla funzionare devi abilitare il programma alle macro andando su Opzioni - Sicurezza - Sicurezza delle macro e imposta a medio, ad ogni apertura del file ti apparirà un messaggio devi cliccare sul pulsante "Abilita".

Segui questa guida per copiare la macro su un altro file e associarla ad un pulsante
http://professoressa.altervista.org/Dis ... re_OOo.pdf
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Grazie,
prima parte risolta, io avevo impostato con basso ma non mi succedeva nulla ( chissà cosa ho fatto ) invece con medio funziona egregiamente. Se portati per mano anche il più incapace ( come il sottoscritto ) con pazienza riesce.
Ora proseguo la lezione provando ad associarla ad un pulsante.
Ti sono riconoscente Gaetano, buona giornata.
Massimo
OpenOffice 4.1.3 su Windows 8.1
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Un saluto a tutti,
ma in particolar modo al mio caro “ amico consulente “ Gaetano.
Ho fatto qualche piccolo progresso con le macro ( poca cosa, ma mi accontento per il momento ).
Adesso non riesco a risolvere un altro problemino inerente la formattazione condizionale.
Come vedi allego il file dove devo copiare in K7 e in tutte le celle sottostanti della colonna K del foglio “ARCHIVIO” le impostazioni delle celle soprastanti K6 e K5.
La formattazione condizionale delle due celle ho dovuto farla singolarmente perché altrimenti se la copiavo mi modificava tutta la colonna.
Ho tentato con copia incolla, con incolla speciale ma non funziona.
Non vorrei impostare la formattazione condizionale per tutte le cella da K5 a K50.
Chi mi suggerisce un sistema corretto e veloce.
Grazie, saluti da Venezia
Allegati
PROTOTIPO.ods
(147.11 KiB) Scaricato 62 volte
OpenOffice 4.1.3 su Windows 8.1
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro

Messaggio da Gaetanopr »

Ciao, per poter copiare la formattazione condizionale alle altre celle, i riferimenti di riga nelle formule devono essere di tipo relativo vedi guida
https://help.libreoffice.org/latest/it/ ... t_ref.html
Queste due condizioni $ARCHIVIO.$L$5=$ARCHIVIO.$J$5 + $ARCHIVIO.$M$5=$ARCHIVIO.$J$5 possono essere racchiuse in una in questo modo
$ARCHIVIO.$L5 +$ARCHIVIO.$M5 =$ARCHIVIO.$J5, ti basta sommare contanti+bonifico, oltretutto una fattura potrebbe essere pagata in parte contanti e in parte con bonifico, in questa casistica per come avevi fatto tu non sarebbe mai risultata verde la cella.
Le formule per la formattazione condizionale sono inserite fino a riga 20, ti basta fare copia e incolla speciale - formati per applicarla fino a dove ti necessita.

PS: Per altre problematiche è meglio aprire nuove discussioni con titolo appropriato.

Saluti
Allegati
PROTOTIPO.ods
(144.18 KiB) Scaricato 64 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: macro

Messaggio da maxvero »

Giusto il PS, non ci avevo pensato.
OpenOffice 4.1.3 su Windows 8.1
maxvero
Messaggi: 68
Iscritto il: lunedì 23 settembre 2019, 14:22

Re: [Risolto] macro

Messaggio da maxvero »

[Risolto]
OpenOffice 4.1.3 su Windows 8.1
Rispondi