Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 10 su 10

Trasporre colonne in righe

  1. #1
    theleon72 non è in linea Novello
    Buongiorno, mi scuso per la semplice domanda ma non riesco ad arrivare ad una soluzione
    ho una serie di file in excel con questo formato

    Iris RG0703 Porta sapone.
    Iris Soap-holder.
    Iris Porte-savon.
    Iris Seifenschale.
    Iris Jabonera.
    Iris Мыльница.
    Iris
    Iris RG0706 Porta bicchiere.
    Iris Cup-holder.
    Iris Porte-verre.
    Iris Glashalter.
    Iris Portavaso.
    Iris Стакан.

    e avrei bisogno di arrivare a questo risultato

    Iris RG0703 Porta sapone. Soap-holder. Porte-savon. Seifenschale. Jabonera. Мыльница.
    Iris RG0706 Porta bicchiere. Cup-holder. Porte-verre. Glashalter. Portavaso. Стакан.

    come posso fare? che tipo di macro dovrei creare?

    grazie mille per il vostro aiuto

  2. #2
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Ciao Theleon72,
    Benvenuto nel forum.

    Un inizio potrebbe essere:
    1) Fai tutto fino a che non trovi una cella vuota
    2) Leggi se la prima riga contiene IRIS RG
    3) Se è così alimenti una variabile COLONNA = 2 e scendi di una riga
    4) se non si verifica quanto sopra copi il contenuto della cella attiva senza considerare i primi 5 caratteri
    5) elimini la riga
    6) alimenti COLONNA di 1.

    Fammi sapere se hai bisogno di ulteriori suggerimenti.
    Ultima modifica di Elimar; 17-07-2012 15:53 
    ℹ️ Leggi di più su Elimar ...

  3. #3
    theleon72 non è in linea Novello
    Ciao Andrea, grazie innanzi tutto per la tua celere risposta

    Iris\RG0709\Mensola in vetro.
    Iris\-\Glass-shelf.
    Iris\-\Etagère en verre.
    Iris\-Ablage.
    Iris\-\Repisa en vidrio.
    Iris\-\Полка стеклянная.
    in pratica sono 3 colonne, e il risultato dovrebbe essere
    Iris\RG0709\Mensola in vetro.\Mensola in vetro.\Glass-shelf.\Etagère en verre.\Ablage.\Repisa en vidrio.\Полка стеклянная.
    in pratica 1 riga con 9 colonne

  4. #4
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Ciao,
    anche tu sei stato veloce a scrivere nuovamente.
    prova a vedere se con la variazione che ho fatto riesci ad andare avanti altrimenti dimmi dove possono esserci dei dubbi o delle perplessità

    ciao
    ℹ️ Leggi di più su Elimar ...

  5. #5
    theleon72 non è in linea Novello
    mi potresti dare la macro

    grazie

  6. #6
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Ti posso dare dei suggerimenti in base a quello che hai aggiunto.

    Ti posizioni sulla prima cella Range("A1").select per esempio.

    Fino a che questa è diversa da vuota (cerca nella guida in linea l'utilizzo del Do While)
    se la cella vicina (utilizzerai l' Offset) è diversa da vuota alimenterai una variabile = 4
    e scenderai di una cella
    altirmenti nella cella (riga -1 della attiva, colonna = alla tua variabile) andrai ad inserire il valore della cella + 2 rispetto a dove ti trovi.

    Dai puoi farcela con la guida in linea.
    ℹ️ Leggi di più su Elimar ...

  7. #7
    theleon72 non è in linea Novello
    ah ok...si grazie adesso ci provo...
    per facilitare potrei eliminare la colonna 1 e fare gruppo per gruppo

    comunque grazie per i suggerimenti

  8. #8
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    il problema se elimini colonna 1 potrebbe essere nel fatto che dovrai individuare una colonna che abbia tutti i valori, altrimenti non riusciresti a gestire fino a che punto dei utilizzare il ciclo Do While
    ℹ️ Leggi di più su Elimar ...

  9. #9
    theleon72 non è in linea Novello
    evviva...ci sono riuscito.....ma solo grazie ai tuoi preziosi consigli..mi hai risparmiato ore di lavoro
    e se qualcuno avesse il mio stesso problema, ecco il codice che ho creato
    Sub TuttoNellaStessaCella()
    Range("A1").Select
    Do While ActiveCell <> Empty
    If ActiveCell.Offset(0, 1) = Empty Then
    Cells(ActiveCell.Row - 1, colonna).Value = ActiveCell.Offset(0, 2).Value
    Selection.EntireRow.Delete
    colonna = colonna + 1
    Else
    colonna = 4
    ActiveCell.Offset(1, 0).Select
    End If
    Loop
    End Sub

    grazie veramente
    ciao

    Daniele

  10. #10
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Ciao Daniele,
    mi fa piacere che tu abbia risolto.

    Sub TuttoNellaStessaCella()
       Range("A1").Select
       Do While ActiveCell <> Empty
           If ActiveCell.Offset(0, 1) = Empty Then
               Cells(ActiveCell.Row - 1, colonna).Value = ActiveCell.Offset(0, 2).Value
               Selection.EntireRow.Delete
               colonna = colonna + 1
           Else
               colonna = 4
               ActiveCell.Offset(1, 0).Select
           End If
       Loop
    End Sub
    
    Ho copiato il tuo codice solo per dare maggiore visibilità allo stesso.
    ℹ️ Leggi di più su Elimar ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. meglio più righe o più colonne?
    Da dancar nel forum MySQL
    Risposte: 1
    Ultimo Post: 18-07-2020, 07:59
  2. Righe alterate in Report a più colonne
    Da bruce.26 nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 16-03-2017, 21:11
  3. Invertire Colonne con Righe Query
    Da naitspc nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 07-03-2016, 00:27
  4. Excel: da 150 righe e 13 colonne a 600 righe e 4 colonne!
    Da martina_locatelli nel forum Microsoft Excel
    Risposte: 8
    Ultimo Post: 15-11-2012, 08:03
  5. sovrapposizione colonne-righe
    Da riccardo ponsiani nel forum Microsoft Word
    Risposte: 11
    Ultimo Post: 06-07-2010, 15:02