Macro VBA per scorrere righe di x fogli e incollarle nell'ultimo

Anonimo
2014-06-24T13:16:11+00:00

Ciao a tutti, sto lavorando ad un foglio un po particolare...

Ci sono x fogli di vario nome, e un foglio di nome riepilogo.

Vorrei che tutto il contenuto dei vari fogli (eccetto il riepilogo) venissero incollati sul foglio riepilogo.

esempio:

Foglio1

I-5050 CB 1
I-5050 MS 1
I-5053 CB 2
I-5050 CB 1
I-5053 SL 4
I-5150 CB 1
I-5050 CL 1
I-5052 CB 1,5

Foglio2

I-5250 CB 1
I-5050 MS 1
I-5054 CB 2
I-5050 CB 1
I-5053 SL 4
I-5150 CB 1
I-5051 MS 1
I-5052 CB 1,5

Vorrei che nel foglio3 chiamato Riepilogo venga incollato il foglio 1 e il foglio 2, in maniera tale da avere tutti i dati contigui.

SE POSSIBILE: sommare i valori uguali!!

Grazie a tutti coloro vorranno aiutare!!

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-06-24T13:34:28+00:00

Ciao a tutti, sto lavorando ad un foglio un po particolare...

Ci sono x fogli di vario nome, e un foglio di nome riepilogo.

Vorrei che tutto il contenuto dei vari fogli (eccetto il riepilogo) venissero incollati sul foglio riepilogo.

<cut>

Vorrei che nel foglio3 chiamato Riepilogo venga incollato il foglio 1 e il foglio 2, in maniera tale da avere tutti i dati contigui.

SE POSSIBILE: sommare i valori uguali!!

Grazie a tutti coloro vorranno aiutare!!

Modifica le parti in grassetto con i nomi reali dei tuoi fogli:

Public Sub m()

    Dim sh1 As Worksheet

    Dim sh2 As Worksheet

    Dim sh3 As Worksheet

    Dim lRiga As Long

    With ThisWorkbook

        Set sh1 = .Worksheets("Foglio1")

        Set sh2 = .Worksheets("Foglio2")

        Set sh3 = .Worksheets("Foglio3")

    End With

    With sh3

        .Cells.ClearContents

        sh1.Range("A1").CurrentRegion.Copy

        .Range("A1").PasteSpecial

        lRiga = .Range("A" & .Rows.Count).End(xlUp).Row + 1

        sh2.Range("A1").CurrentRegion.Copy

        .Range("A" & lRiga).PasteSpecial

    End With

    Application.CutCopyMode = False

    Set sh3 = Nothing

    Set sh2 = Nothing

    Set sh1 = Nothing

End Sub

Cosa intendi per *sommare i valori uguali*? In quel caso dovremmo avere valori *univoci* in Foglio3 e poi sommare i valori delle tabelle dei due altri fogli. Di ciò ne abbiamo discusso qui:

e non serve altro che creare una tabella pivot partendo dal Foglio3 una volta importati i dati degli altri fogli.

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-06-24T15:10:45+00:00

    ... che si potrebbe anche creare direttamente, senza necessità di copiare preventivamente i fogli, sfruttando il consolidamento di intervalli multipli.

    Avevo già postato la macro... ;-)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-06-24T14:54:31+00:00

    ...

    e non serve altro che creare una tabella pivot partendo dal Foglio3 una volta importati i dati degli altri fogli.

    ... che si potrebbe anche creare direttamente, senza necessità di copiare preventivamente i fogli, sfruttando il consolidamento di intervalli multipli.

    La risposta è stata utile?

    0 commenti Nessun commento