Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

VBA aiuto per creazione tabella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

VBA aiuto per creazione tabella

Postdi MatteoPP » 09/10/14 16:44

Buongiorno a tutti.

ho un problema che davvero non so come risolvere e vi chiedo aiuto.
Vi spiego : hp due colonne A e B in cui in A ho una serie di numeri ed in B una serie di nomi. capita spesso di averi per gli stessi numeri due nomi. quello di cui avrei bisogno io è:

partendo da una situazione in cui ho due tabelle cosi composte
numeri nome
100 a
100 b
102 a
102 b
102 c
112 f
112 g
io ho bisogno di raccolgiere per quanto riguarda i numeri ma facendo una pivot l impostazione mi viene:
100
a
b
102
a
b
c
112
f
g
io avrei bisogno di un impsotazione
100 a b
(spazio)
102 a b c
112 g f
Ho usato questo codice ma crea dei problemi quando ho piu di due codici simili di fila... qualche suggerimento??


Sub prova1()


For i = 1 To 6200
If Cells(i, 1) = Cells(i + 1, 1) Then
Cells(i + 1, 2).Select
Selection.Cut
Cells(i, 3).Select
ActiveSheet.Paste
Cells(i + 1, 1).Delete
Cells(i + 1, 2).Delete
End If
Next i

End Sub
vi chiedo se per caso sapete come si possa fare questa divisione con VBA.
Grazie in anticipo
MatteoPP
Utente Junior
 
Post: 10
Iscritto il: 07/10/14 09:29

Sponsor
 

Re: VBA aiuto per creazione tabella

Postdi Flash30005 » 10/10/14 14:12

Prova questa macro
Codice: Seleziona tutto
Sub CreaTabella1()
Dim FA As Worksheet
Dim FB As Worksheet
Set FA = Sheets("Foglio1")
Set FB = Sheets("Foglio2")
FB.Cells.Clear
URA = FA.Range("A" & Rows.Count).End(xlUp).Row
FA.Range("A1:B1").Copy Destination:=FB.Range("A1")
For RA = 2 To URA
    URB = FB.Range("A" & Rows.Count).End(xlUp).Row
    ValA = FA.Range("A" & RA).Value
        For RB = 2 To URB
            ValB = FB.Range("A" & RB).Value
            If ValA = ValB Then GoTo saltaRA
        Next RB
        FB.Range("A" & URB + 1).Value = ValA
saltaRA:
Next RA
URB = FB.Range("A" & Rows.Count).End(xlUp).Row
For RB = 2 To URB
    ValB = FB.Range("A" & RB).Value
    For RA = 2 To URA
        ValA = FA.Range("A" & RA).Value
        If ValA = ValB Then
            UCB = FB.Cells(RB, Columns.Count).End(xlToLeft).Column + 1
            FB.Cells(1, UCB).Value = FA.Range("B1").Value
            FB.Cells(RB, UCB).Value = FA.Range("B" & RA).Value
        End If
    Next RA
Next RB
End Sub


Devi solo assegnare a FA e FB i nomi dei fogli effettivi, dove in FA sono i dati origine e FB il risultato finale (dati output)
Attenzione: i dati in FB vengono eliminati ad ogni avvio macro

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "VBA aiuto per creazione tabella":

Aiuto urgente!!!
Autore: templare77
Forum: Software Windows
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti

cron