[Risolto] Invertire contenuto celle

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Alelon
Messaggi: 241
Iscritto il: venerdì 12 novembre 2021, 19:46

[Risolto] Invertire contenuto celle

Messaggio da Alelon »

Salve a tutti.
Vi chiedo se sia possibile ,in maniera rapida,invertire il contenuto di 2 celle?
Per esempio....il contenuto di D3 si sposta su D4. Di conseguenza D4 su D3.
Grazie
Ultima modifica di Alelon il venerdì 2 dicembre 2022, 21:58, modificato 3 volte in totale.
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Invertire contenuto celle

Messaggio da Gaetanopr »

Selezioni le due celle vai su Dati > Ordina crescente o decrescente dipende se D3 è maggiore di D4 fai Ordina crescente e viceversa.
Un altro sistema più macchinoso, ti posizioni su D4 e fai CTRL + X > du D3 fai Ctrl + e infine Ctrl V, in poche parole tagli D4 e lo tieni in memoria, con Ctrl + posti il contenuto di D3 du D4 e poi incolli su D3 il contenuto di D4.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Alelon
Messaggi: 241
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Invertire contenuto celle

Messaggio da Alelon »

Grazie...
Ma con un tasto assegnato ad una macro, è possibile?
PS: non ho idea su come scrivere la macro
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Invertire contenuto celle

Messaggio da Gaetanopr »

Non ne vedo l'utilità, i passaggi sono gli stessi, devi sempre selezionare le due celle(tranne se non sono sempre le stesse e quindi le indichi nella macro) e devi sempre premere un pulsante, tanto vale usare la funzione Ordinamento.

Codice: Seleziona tutto

Sub Main
Addr = ThisComponent.CurrentSelection.RangeAddress
Cell1 = ThisComponent.Sheets(Addr.Sheet).getcellbyposition(Addr.StartColumn, Addr.StartRow)
Cell2 = ThisComponent.Sheets(Addr.Sheet).getcellbyposition(Addr.StartColumn, Addr.EndRow)
Cell1V = Cell1.Value
Cell2V = Cell2.Value
Cell1.Value = Cell2V
Cell2.Value = Cell1V
End Sub
Questa agisce sulla selezione delle due celle, se sono sempre le stesse basta modificare Cell1 e Cell2 con gli indirizzi fissi.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Alelon
Messaggi: 241
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Invertire contenuto celle

Messaggio da Alelon »

Io devo invertire orizzontalmente...
Con dati non sono riuscito
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Invertire contenuto celle

Messaggio da Gaetanopr »

Alelon ha scritto: venerdì 2 dicembre 2022, 10:38 Io devo invertire orizzontalmente...
Con dati non sono riuscito
Nel tuo primo messaggio dici D3 con D4.
Alelon ha scritto: giovedì 1 dicembre 2022, 22:30 Per esempio....il contenuto di D3 si sposta su D4. Di conseguenza D4 su D3.
Grazie
L'ordinamento funziona sia per righe che per colonna, se vai su Ordina> Opzioni in fondo puoi selezionare la direzione, scegli per colonne.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Alelon
Messaggi: 241
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Invertire contenuto celle

Messaggio da Alelon »

sei gentilissimo, ma non ci riesco.
mi serve qualcosa di velocissimo....
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Invertire contenuto celle

Messaggio da Gaetanopr »

Questa macro funziona sia per due celle disposte in orizzontale che verticale

Codice: Seleziona tutto

Sub Main
Arr = ThisComponent.CurrentSelection.getDataArray
If Ubound(Arr)  = 0 Then
   Dim Arr2(0,1)
   Arr2(0,0) = Arr(0)(1)
  Arr2(0,1) = Arr(0)(0)
ElseIf  Ubound(Arr) = 1 Then 
   ReDim Arr2(1,0)
   Arr2(0,0) = Arr(1)(0)
   Arr2(1,0) = Arr(0)(0)
end if
ThisComponent.CurrentSelection.SetDataArray(Arr2)
End Sub
Allegati
Inverti_Valori_2_celle.ods
(8.54 KiB) Scaricato 41 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Invertire contenuto celle

Messaggio da patel »

Molto istruttiva questa macro per imparare l'uso degli array !
-------------------
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
Alelon
Messaggi: 241
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Invertire contenuto celle

Messaggio da Alelon »

Perfetto!
Purtroppo pero' ho un problema.......
Uso un programma per falegnameria, che mi esporta iu un file csv una lista di taglio. Naturalmente, di volta in volta, diverso dal precedente.
Come posso fare per far si che all'apertura di questo csv, ci sia sempre il tasto abbinato alla macro?
Grazie tantissimo.
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Invertire contenuto celle

Messaggio da Gaetanopr »

La devi mettere tra le macro personali, così è visibile su qualsiasi documento e la associ ad un pulsante della barra degli strumenti.
Vai su Strumenti > Personalizza > Barra degli strumenti > Importa > Macro personali e la selezioni...... alla fine fai salva su Open Office Calc in modo che il pulsante sia presente su tutti i documenti Calc.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Alelon
Messaggi: 241
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Invertire contenuto celle

Messaggio da Alelon »

Sei stato molto gentile. Dopo fatto ciò da dove la richiamo?

Grazie.

Come si fa'a mettere risolto?
OpenOffice 4.1.13
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Invertire contenuto celle

Messaggio da patel »

Come ti ha detto Gaetanopr associ la macro ad un pulsante della barra degli strumenti.
Vai su Strumenti > Personalizza > Barra degli strumenti > Importa > Macro personali e la selezioni...... alla fine fai salva su Open Office Calc in modo che il pulsante sia presente su tutti i documenti Calc.
-------------------
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
Rispondi