[Risolto]Inserimento nuove righe in base alle celle da spostare

Non sapete dove scrivere? Scrivete qui!
Regole del forum
Solo richieste di aiuto. Per saluti e presentazioni utilizzate il forum Discussioni Generali e Presentazioni.
Rispondi
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

[Risolto]Inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

Buon giorno ci riprovo visto che l'arcometo di prma non è andato bene ....

In un file di LibreOffice sono contenuti una quantita enorme di dati sia come righe che come colonne.
Per ogni colonna sono presenti massimo 3 dati che devono essere spostati ed incolonnati creando righe per l'inserimento degli stessi.

spero di aver scritto giusto , capibile e senza pubblicita occulta.
Prova_Libreoffice.csv
(667 Byte) Scaricato 43 volte
Ultima modifica di Luca63 il martedì 3 gennaio 2023, 18:41, modificato 1 volta in totale.
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

Non ho capito bene, puoi allegare un file con il risultato desiderato?
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

Re: inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

Il file allegato era il risultato allegato , riprovo a spiegare.
Nella Riga 10-11-12 sotto la colonna F-G-H ci sono le scritte

foto foto1 foto2 foto3
panoramica panoramica1 panoramica2 panoramica
primopiano primopiano1 primopiano2 primopiano3


queste scritte andrebbero riportate nella colonna E come nelle righe 2-3-4-5-6-7-8-9

spero di essermi spiegato meglio
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

Continuo a non capire, aprendo il file con libreoffice ho questa situazione
Allegati
Cattura.JPG
Cattura.JPG (82.2 KiB) Visto 1383 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

strano ripropongo inserendo una foto.
In Image Src devo essere inserite i contenuti ( seguendo le frecce nere ) aumentando le righe a seconda di quanti celle non sono vuote.

Schermata 2022-12-31 alle 14.12.48.jpg
Schermata 2022-12-31 alle 14.12.48.jpg (174.44 KiB) Visto 1377 volte
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

La foto e il file sono diversi, comunque prova con questa macro

Codice: Seleziona tutto

Sub Insert
Dim Doc As Object
Dim Sh As Object

Doc = ThisComponent
Sh = Doc.Sheets.GetByName("Foglio1")
c = Sh.createCursor
c.gotoEndOfUsedArea(false) 
LastRow = c.RangeAddress.EndRow

For i = 1 To LastRow
   Riga = i
   If Sh.GetCellByPosition(0, i).String <> "" Then  
      For col = 5 To 7
         If Sh.GetCellByPosition(col, i).String <> "" Then 
            Riga =  Riga + 1
            Sh.Rows.insertByIndex(Riga, 1)
            Sh.GetCellByPosition(1, Riga).String = Sh.GetCellByPosition(1, i).String
            Sh.GetCellByPosition(4, Riga).String = Sh.GetCellByPosition(col, i).String
            LastRow = LastRow + 1
         End if
      Next col
   End if          
Next i
End Sub
I dati nelle colonne F - G -H devono rimanere o essere cancellati?
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

Ciao intanto buon anno e grazie , i dati nell 3 colonne posso anche rimanere, ma c'è un errore , nella colonna Title si crea uno spazio derivante dalla aggiunta delle righe, e la stessa cosa nelel colonne C e D .

Intanto sto provando anche io a capire come funziona , perche voglio capire.
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

Grazie e buon anno a te, ti basta replicare questa riga

Codice: Seleziona tutto

Sh.GetCellByPosition(1, Riga).String = Sh.GetCellByPosition(1, i).String
altre 2 volte, modificando l'indirizzo di colonna, sta per colonna B quindi....
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

...riuscitooooo :-)
ma manca una cosa :-( dopo il campo H c'è un campo che da la posizione all'immagine, che è solo un numero , quindi 1,2,3, ecc e varia a seconda delle immagini in coda ....
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

Non ho capito cosa ti serve per la colonna H spiega meglio anche allegando immagine o file corretto!!
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

Grazie per l'aiuto, e scusa per il ritardo nella risposta.
Nel campo I c'è la posizione dell'immagine all'interno della pagina, il n 1 , il n 2 , il n 3 ecc ecc il tutto a seconda delle immagini a disposizione.
Schermata 2023-01-03 alle 10.12.18.jpg
Schermata 2023-01-03 alle 10.12.18.jpg (157.22 KiB) Visto 1292 volte
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

Luca63 ha scritto: martedì 3 gennaio 2023, 10:18 Nel campo I c'è la posizione dell'immagine all'interno della pagina, il n 1 , il n 2 , il n 3 ecc ecc il tutto a seconda delle immagini a disposizione.
Tu magari avrai bene in mente cosa vuoi ottenere, ma devi essere più chiaro nelle spiegazioni, devi sempre descrivere la situazione di partenza e quella di arrivo cioè quella che vuoi ottenere.
Se il campo I deve essere compilato tramite macro prova in questo modo sempre se ho capito bene.

Codice: Seleziona tutto

Sub Insert
Dim Doc As Object
Dim Sh As Object

Doc = ThisComponent
Sh = Doc.Sheets.GetByName("Foglio1")
c = Sh.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow

For i = 1 To LastRow
     Riga = i
     If Sh.GetCellByPosition(0, i).String <>  "" Then
        NImage = 1
        Sh.GetCellByPosition(8, Riga).Value = NImage
        For col = 5 To 7
           If Sh.GetCellByPosition(col, i).String <>  "" Then
              Riga =  Riga + 1
              NImage = NImage + 1
              Sh.Rows.insertByIndex(Riga, 1)
              Sh.GetCellByPosition(1, Riga).String = Sh.GetCellByPosition(1, i).String
              Sh.GetCellByPosition(4, Riga).String = Sh.GetCellByPosition(col, i).String
              Sh.GetCellByPosition(8, Riga).Value = NImage
              LastRow = LastRow + 1
           End if
        Next col
     End if
Next i
End Sub
Devi sempre aggiungere le due righe di codice per le altre colonne
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luca63
Messaggi: 9
Iscritto il: giovedì 29 dicembre 2022, 17:21

[Risolto] Inserimento nuove righe in base alle celle da spostare

Messaggio da Luca63 »

ciao , bene ha funzionato tutto alla perfezione devo ringraziavi immensamente
libreoffice 7.4.2.3
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Inserimento nuove righe in base alle celle da spostare

Messaggio da Gaetanopr »

Ok, però il risolto va messo come spiegato qui viewtopic.php?t=5661
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Rispondi