Condividi:        

ultima riga in tabella pivot

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

ultima riga in tabella pivot

Postdi mirmidone21 » 08/07/16 10:39

Buongiorno a tutti
ho creato una macro col registratore che mi genera una tabella pivot, il numero di righe della tabella è variabile, quindi avrei bisogno che andasse sempre all'ultima riga disponibile.

Codice: Seleziona tutto
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "verifica importi 04-2016 ---- C!R1C1:R113603C5", Version:= _
        xlPivotTableVersion15).CreatePivotTable TableDestination:="Foglio1!R3C1", _
        TableName:="Tabella_pivot1", DefaultVersion:=xlPivotTableVersion15


C!R1C1:R113603C5 questa riga cambia sempre, quale stringa devo inserire per farla andare sempre all'ultima riga?
grazie
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48

Sponsor
 

Re: ultima riga in tabella pivot

Postdi Anthony47 » 09/07/16 00:40

Dovrebbe bastare sostituire "verifica importi 04-2016 ---- C!R1C1:R113603C5" con
Codice: Seleziona tutto
"verifica importi 04-2016 ---- C!A:E"


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ultima riga in tabella pivot

Postdi mirmidone21 » 09/07/16 07:20

grazie Anthony47,
avevo già provato così, e funziona bene, solo che in questo modo seleziona l'intera lunghezza delle colonne.
io volevo inserire qualcosa che aggiornasse/identificasse le righe/range specifico, ovviamente se possibile.
in rete ho trovato questo, ho anche provato ad inserirlo nella macro, ma non funziona, sicuramente sbaglio qualcosa nella sintassi.

Codice: Seleziona tutto
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        "Foglio1!R1C1:R19C2"
UR = Range("A" & Rows.Count).End(xlUp).Row

e sostituire "UR" al 19

ho anche impstato la variabile ad inizio macro, ma non va.
Codice: Seleziona tutto
dim UR As long
UR = .Cells(Rows.Count, 3).End(xlUp).Row
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48

Re: ultima riga in tabella pivot

Postdi mirmidone21 » 11/07/16 07:55

scusatemi, ma qualcuno potrebbe dirmi qual'è la sintasi corretta da inserire in
Codice: Seleziona tutto
SourceData:= _
        "verifica importi 04-2016 ---- C!R1C1:R113603C5"
al posto di R113603C5 per far si che la tabella pivot si aggiorni all'ultima riga disponibile, considerato che il foglio verifica importi 04-2016 ha sempre righe diverse?.
grazie in anticipo a tutti.
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48

Re: ultima riga in tabella pivot

Postdi mirmidone21 » 11/07/16 12:56

Anthony47 ha scritto:Dovrebbe bastare sostituire "verifica importi 04-2016 ---- C!R1C1:R113603C5" con
Codice: Seleziona tutto
"verifica importi 04-2016 ---- C!A:E"


Ciao

Allora Anthony47, venerdi in ufficio ho provato in questo modo, e ti garantisco che funzionava, tanto che mi ero impegnat a scoprire un modo alternativo, come hai potuto leggere.
stamattina sono ritorato a lavoro, e ho riprovato, e non funziona, da l'errore che vedi nell'immagine.
che fare ??????
Immagine
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48

Re: ultima riga in tabella pivot

Postdi Anthony47 » 12/07/16 01:18

Secondo me qualcuna delle colonne A:E non ha una etichetta in riga 1.

Quanto alle domande precedenti, se vuoi mettere tu l'inizio e la fine dell'intervallo (cosa peraltro necessaria se i dati non cominciano su riga 1) allora, partendo da uno dei tuoi esperimenti:
Codice: Seleziona tutto
UR = Range("A" & Rows.Count).End(xlUp).Row
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        "Foglio1!A1:C" & UR

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ultima riga in tabella pivot

Postdi mirmidone21 » 12/07/16 09:35

ciao,
purtroppo continua a non andare, adesso l'errore è:

Immagine

allego macro e file di esempio, preciso che il file di orgine è un .csv

Codice: Seleziona tutto
Sub Macro3()
'
' Macro3 Macro
'

'
 Dim UR As Long
 UR = Range("A" & Rows.Count).End(xlUp).Row
 
 Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
        TrailingMinusNumbers:=True
    Cells.Select
    Cells.EntireColumn.AutoFit
    Columns("A:A").Select
    Selection.NumberFormat = "0"
    Columns("C:C").Select
    Columns("C:C").NumberFormat = "General"
    Range("J2").Copy    '<< DEVE ESSERE UNA CELLA VUOTA!
    Columns("C:C").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
        :=False, Transpose:=False
    Selection.NumberFormat = "$ #,##0.00"
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "verifica importi 04-2016!A:E" & UR, Version:=xlPivotTableVersion15). _
        CreatePivotTable TableDestination:="Foglio1!R3C1", TableName:= _
        "Tabella_pivot1", DefaultVersion:=xlPivotTableVersion15
    Sheets("Foglio1").Select
    Cells(3, 1).Select
    ActiveSheet.PivotTables("Tabella_pivot1").AddDataField ActiveSheet.PivotTables( _
        "Tabella_pivot1").PivotFields("IMPORTO_SCOPERTO"), _
        "Conteggio di IMPORTO_SCOPERTO", xlCount
    With ActiveSheet.PivotTables("Tabella_pivot1").PivotFields( _
        "Conteggio di IMPORTO_SCOPERTO")
        .Caption = "Somma di IMPORTO_SCOPERTO"
        .Function = xlSum
    End With
    With ActiveSheet.PivotTables("Tabella_pivot1").PivotFields( _
        "COD_CONTO_CLIENTE_NUM")
        .Orientation = xlRowField
        .Position = 1
    End With
    Columns("B:B").Select
    Selection.NumberFormat = "$ #,##0.00"
    Sheets("Foglio1").Select
    Sheets("Foglio1").Name = "PVT"
    Set pvtTable = Worksheets("PVT").PivotTables(1)
    Set pvtCache = pvtTable.PivotCache
    pvtCache.MissingItemsLimit = xlMissingItemsNone
    pvtTable.RefreshTable

End Sub


https://drive.google.com/file/d/0B2rmVFc8x3cUd2hacTNuMGFKMHc/view?usp=sharing
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48

Re: ultima riga in tabella pivot

Postdi Anthony47 » 13/07/16 00:40

Hai copiato male... Non "verifica importi 04-2016!A:E" & UR ma
Codice: Seleziona tutto
"verifica importi 04-2016!A1:E" & UR


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ultima riga in tabella pivot

Postdi mirmidone21 » 13/07/16 09:55

gli occhi fanno brutti scherzi. :)
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 149
Iscritto il: 26/10/15 16:48


Torna a Applicazioni Office Windows


Topic correlati a "ultima riga in tabella pivot":


Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti

cron