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

sovrapposizione colonne-righe

  1. #1
    Salve sono Riccardo, utente alle prime armi con Excel VBA, sto cercando invano di trovare un comando di sovrapposizione di colonne-righe da inserire in una macro.
    Vi spiego meglio: ho creato una macro partendo da una pivot per cercare di raffigurare in maniera più esaustiva la tabella. La pivot è fatta in modo che mi permetta di vedere la progressione temporale di un dato fenomeno. Ho quindi diverse colonne divise in 3 settori ciascunaì in cui è inserito nella prima colonna-settore il valore 1 nella seconda 2 e nella terza 3. i tre valori appaiono sfalsati l'uno dall'altro ciascuno nella loro colonna-settore. Io vorrei sovrapporli a formare una sola colonna tra fasi dell'evento così da avere una visione più compatta!
    Accetto qualsiasi consiglio, grazie in anticipo

    schematizzando orribilmente, da questo:
    ..............|_____fase1_______|
    ...............|__1__|__2__|__3__|
    evento1 ...|... 1 ..| .......| .......|
    evento2 ...| ........| .......| ...3 ..|
    evento3 ...|........ |... 2.. |...... |

    vorrei ricavare una cosa del genere senza doverlo fare ogni volta manualmente:

    ............|_fase1_|
    evento1 |... 1.... |
    evento2 |... 3.... |
    evento3 |... 2.... |

    grazie ancora.

  2. #2
    L'avatar di machopicho
    machopicho non è in linea Scolaretto
    Ciao e benvenuto!
    Il tuo problema e di facile soluzione... mancano però alcuni dati e cioè:
    1) qual'è la colonna da cui parte la progressione e nella quale vuoi accorpare i dati?
    2) da quale riga parte la prima progressione?
    3) la progressione fino a che colonna arriva?
    4) In quale riga si trova l'evento che ha la progressione più lunga?
    La prox volta cerca di essere più preciso in modo da riuscire a focalizzare subito il problema e l'eventuale soluzione!
    Ultima modifica di machopicho; 02-07-2010 12:51 
    ℹ️ Leggi di più su machopicho ...

  3. #3
    Scusami per la poca precisione ora ti elenco le varie coordinate:

    le colonne sono 2 poichè gli eventi sono divisi in 2 fasi e occupano: la prima le colonne F-G-H e la seconda I-J-K ;
    i dati possono essere accorpati nelle colonne G e J, come facevo manualmente, ed al termine eliminare le colonne F-H-I-K;
    la prima riga della prima progressione è la 6.

    Scusa ancora se sono stato troppo generico ma mi poteva andare bene anche una cosa generale riferita ad una sola colonna poi avrei provato io ad adattarlo.

    Comunque grazie mille per l'interessamento.
    Se hai bisogno di altre precisazioni non esitare a domandarmele.

  4. #4
    L'avatar di machopicho
    machopicho non è in linea Scolaretto
    Ok.
    Un'ultima cosa: nella colonna G ci stanno dei dati o del test? Ce sò, tipo evento1...
    Ovviamente sarà così, ma per conferma, se su una determitata riga c'è un dato in G sulla stessa non ci sarà anche in H, cioè, i dati sono univodi sulle righe, giusto?
    ℹ️ Leggi di più su machopicho ...

  5. #5
    Esatto, per ogni fase ci sono tre colonne 1 2 3 e per ogni evento c'è un solo riscontro della fase, quindi ad esempio per l'evento 1 nella fase 1 c'è una sola casella occupata con valore 1 2 o 3 corrispondente alla casella con lo stesso valore.
    Sono tre faccine che indicano tre livelli di soddisfazione dell'evento quindi 2 faccine non possono coesistere nella stessa fase.

  6. #6
    L'avatar di machopicho
    machopicho non è in linea Scolaretto
    Ok.. allora il codice che serve a te è questo:
    Sub test()
    For r = 6 To 30 'metti il numero esatto delle righe che deve esaminare
    If Cells(r, "G") = 0 Then
    If Cells(r, "G").Offset(0, -1) <> 0 Then
    Cells(r, "G") = Cells(r, "G").Offset(0, -1)
    Else
    Cells(r, "G") = Cells(r, "G").Offset(0, 1)
    End If
    End If
    Next
    '
    'qui il codice per le seconde colonne
    '
    Columns("F").Delete
    Columns("H").Delete
    
    End Sub
    
    Io l'ho sviluppato per le prime 3 colonne... sono sicuro che non ti sarà difficile completarlo!!
    Ultima modifica di machopicho; 02-07-2010 15:02 
    ℹ️ Leggi di più su machopicho ...

  7. #7
    Mi da qualche problema con la trasposizione del carattere non mi si colorano le caselle trasposte! il comando che mi hai dato trasferisce solo il valore o funziona come un copia incolla?
    Comunque grazie mille è già abbastanza

  8. #8
    L'avatar di machopicho
    machopicho non è in linea Scolaretto
    ...questa delle celle colorate non l'hai detta!!!
    La sub trasferisce solo il valore.
    Allora va usato il comando copia:
    Sub test()
    For r = 6 To 30 'metti il numero esatto delle righe che deve esaminare
    If Cells(r, "G") = 0 Then
    If Cells(r, "G").Offset(0, -1) <> 0 Then
    Cells(r, "G").Offset(0, -1).Copy Destination:=Cells(r, "G") 
    Else
    Cells(r, "G").Offset(0, 1).Copy Destination:=Cells(r, "G") 
    End If
    End If
    Next
    Application.CutCopyMode = False
    '
    'qui il codice per le seconde colonne
    '
    Columns("F").Delete
    Columns("H").Delete
    
    End Sub
    
    ℹ️ Leggi di più su machopicho ...

  9. #9
    Bada ormai che ci sono ti chiedo anche questa:
    finito tutto quello che abbiamo fatto fino ad ora dovrei spostare una colonna che è prima delle fasi. Il fatto è che se mi rimangono 2 fasi ok taglio e incollo manualmente, ma se l'evento mi si evolve la colonna deve essere spostata non oltre la fase 2 ma anche oltre la fase 3 4 e così via!
    la colonna è la f e andrebbe spostata nella prima colonna con la casella della riga 5 vuota essendo sicuro che in caso di evoluzione la riga 5 sarà sempre l'unica con almeno un simbolo scritto. E casomai ci sarebbe anche da ciclare il raggruppamento delle colonne precedentemente fatto per gli eventuali eventi successivi.
    Se ce la fai ok sennò grazie anche così.

  10. #10
    L'avatar di machopicho
    machopicho non è in linea Scolaretto
    Quote Originariamente inviato da riccardo ponsiani Visualizza il messaggio
    Bada ormai che ci sono ti chiedo anche questa:
    finito tutto quello che abbiamo fatto fino ad ora dovrei spostare una colonna che è prima delle fasi. Il fatto è che se mi rimangono 2 fasi ok taglio e incollo manualmente, ma se l'evento mi si evolve la colonna deve essere spostata non oltre la fase 2 ma anche oltre la fase 3 4 e così via!
    la colonna è la f e andrebbe spostata nella prima colonna con la casella della riga 5 vuota essendo sicuro che in caso di evoluzione la riga 5 sarà sempre l'unica con almeno un simbolo scritto. E casomai ci sarebbe anche da ciclare il raggruppamento delle colonne precedentemente fatto per gli eventuali eventi successivi.
    Se ce la fai ok sennò grazie anche così.
    ...ho capito poco e male!!
    Ti conviene fare degli esempi con le indicazioni o mettere il foglio excel da qualche parte in modo che si possa vedere.
    Te capì?
    ℹ️ Leggi di più su machopicho ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

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. 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
  3. Trasporre colonne in righe
    Da theleon72 nel forum Microsoft Excel
    Risposte: 9
    Ultimo Post: 17-07-2012, 16:40
  4. Somma righe/colonne dataGridview
    Da Gmotta nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 30-06-2010, 17:55
  5. Selezione di tutte le righe e colonne
    Da andreino nel forum Microsoft Word
    Risposte: 15
    Ultimo Post: 20-05-2010, 11:22