[Risolto] Copia automatica a listato numerico ridotto

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Nando69
Messaggi: 486
Iscritto il: lunedì 21 settembre 2020, 11:03

[Risolto] Copia automatica a listato numerico ridotto

Messaggio da Nando69 »

Salve a tutti. Facendo riferimento al file allegato,si nota come in cella A1 sia presente un piccolo listato che comprende i numeri presenti nella colonna B.
A seconda quindi del valore che verrà inserito nella suddetta cella A1,vorrei che si attivasse automaticamente la funzione "Copia",con la riga di riferimento del gruppo B1-D12 che dovrà rendersi operativa. Se ad esempio in A1 selezionerò il numero 45,automaticamente la riga 7 (in cui è presente appunto questo valore) dovrà attivarsi affinché l'intervallo B7-D7 possa essere già pronto per essere incollato da qualche altra parte (sullo stesso foglio o in un file diverso). Spero di aver espresso bene il concetto. Una buona serata
Allegati
Immagine 1.jpg
Immagine 1.jpg (30.69 KiB) Visto 643 volte
Immagine 2.jpg
Immagine 2.jpg (32.51 KiB) Visto 643 volte
copia automatica a listato numerico ridotto.ods
(13.14 KiB) Scaricato 56 volte
Ultima modifica di Nando69 il giovedì 14 dicembre 2023, 20:39, modificato 1 volta in totale.
Libre Office 7.3.0.3
Muset
Messaggi: 126
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Copia automatica a listato numerico ridotto

Messaggio da Muset »

Ciao, hai due strade a disposizione, o codice per ottenere esattamente quello che chiedi oppure usando tre cerca.vert direttamente dove vuoi piazzare i dati dove ti servono, questo però prevede che una volta visualizzati i dati fai un copia - incolla valori per fissarli altrimenti cambiando A1 si aggiorneranno alla nuova ricerca
Allegati
copia automatica a listato numerico ridotto.ods
(15.03 KiB) Scaricato 45 volte
LibreOffice 7.3.4.2 (x64) Windows 11
Nando69
Messaggi: 486
Iscritto il: lunedì 21 settembre 2020, 11:03

Re: Copia automatica a listato numerico ridotto

Messaggio da Nando69 »

Ciao. Riusciresti a crearmi un codice per favore?
Libre Office 7.3.0.3
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1818
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia automatica a listato numerico ridotto

Messaggio da gioh66 »

Buondì. Come dice @muset potresti fare con una formula.
Dove ti serve il risultato metti

Codice: Seleziona tutto

=INDICE($B$1:$D$12;CONFRONTA($A$1;$B$1:$B$12;0);RIF.COLONNA(A1))
e tiri a destra di 3.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 7/24 LinuxMint 21/22
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Copia automatica a listato numerico ridotto

Messaggio da Gaetanopr »

Ciao nando hai riproposto lo stesso problema dove avevi già trovato una soluzione
https://ask.libreoffice.org/t/funzione- ... meri/95703
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Nando69
Messaggi: 486
Iscritto il: lunedì 21 settembre 2020, 11:03

Re: Copia automatica a listato numerico ridotto

Messaggio da Nando69 »

Ciao Gaetano. Le 2 cose si differenziano e il problema è diverso perchè lì si parlava di 90 numeri mentre qui il listato riguarda solo i numeri presenti in B1-B12. Sul Forum di Ask con la tua macro mettendo ad esempio il numero 45,la funzione "Copia" si attivava esattamente sulla riga 45 mentre quello che adesso mi serviva è che prendendo sempre ad esempio il valore 45,la funzione "Copia" si attivasse in riga 7 dove oltre al 45 dono presenti anche il 90 e il 54. Altro esempio : inserendo in A1 il valore 64 avevo bisogno che la funzione "Copia" si attivasse in riga 9 dove oltre al 64 sono presenti il 38 e l' 83. Se in questo piccolo listato che ho inserito su questo Topic,provo a usare la tua macro (quella in Ask),mettendo in A1 il 90 la funzione "Copia" mi si attiva in riga 90. Quindi presumo a questo punto ci fosse bisogno di una modifica della macro. Ecco perchè ho riproposto questo argomento. Comunque adotterò le soluzioni proposte gentilmente da Muset ed Eugenio. Grazie a voi e buona serata
Ultima modifica di Nando69 il giovedì 14 dicembre 2023, 18:36, modificato 2 volte in totale.
Libre Office 7.3.0.3
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Copia automatica a listato numerico ridotto

Messaggio da Gaetanopr »

Si hai ragione è un pò diverso, ma essendo una variante abbastanza simile potevi linkare la discussione o allegare oltre al file pure la macro.
Infatti sulla base di quella ho apportato qualche modifica.

Codice: Seleziona tutto

Sub Copia(Target)
Sh = Target.getSpreadsheet()
oCell() = Split(Target.AbsoluteName, ".")
oCellTarget = oCell(1)
If oCellTarget = "$A$1" Then                                    ' MODIFICA
   Num= Target.Value
   For i = 0 To 11
     If Sh.GetCellByPosition(1, i).Value = Num Then
        Riga = i + 1
        document   = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
  		dim args1(0) as new com.sun.star.beans.PropertyValue
    	args1(0).Name = "ToPoint"
        args1(0).Value = "$B$" & Riga & ":$D$" & Riga
        dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
        dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
        exit sub
      end if  
   Next 
   

End If 

End Sub
Allegati
copia automatica a listato numerico ridotto (1).ods
(13.11 KiB) Scaricato 58 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Nando69
Messaggi: 486
Iscritto il: lunedì 21 settembre 2020, 11:03

Re: Copia automatica a listato numerico ridotto

Messaggio da Nando69 »

Va bene,grazie mille. Ho aperto un nuovo argomento perchè il consiglio di Charlie è sempre quello di separare i temi non accavallando troppo tematiche simili nello stesso Topic
Libre Office 7.3.0.3
Rispondi