Condividi tramite

Excel - Macro per creazione file partendo da elenco dati con multifiltro

Anonimo
2016-10-04T15:09:02+00:00

Buongiorno,

avrei la necessità di una macro che velocizzi l'operazione seguente:

ho un file con un database clienti da cui devo estrarre dei dati secondo più filtri posti su 2 colonne e creare nuovi file contenenti i dati filtrati e nominati con i criteri di filtro.

aggiungo che i dati partono dalla 5a riga, il filtro va posto sulla 4a riga e che le prime 3 righe contengono delle celle con formule che fanno i subtotali delle celle sottostanti (quindi quelle dalla 5a in giù) e che devono essere presenti "in testata" di ogni nuovo file.

come posso fare?

grazie in anticipo.

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

2 risposte

Ordina per: Più utili
  1. Anonimo
    2016-10-05T13:38:55+00:00

    Ciao Marco

    Nell'altro forum stavo per risponderti ma poi la discussione è stata chiusa per crossposting come da regolamento.

    Ti allego file che trovi a questo link

    http://www.filedropper.com/chemical

    dove ho inserito la seguente macro

    Sub prova()

    Dim ur As Long

    Dim lr as Long

    Dim i As Integer

    Dim rng As Range

    Dim cel As Range

    ur = Worksheets("Foglio2").Cells(Rows.Count, 2).End(xlUp).Row

    lr = Worksheets("Foglio2").Cells(Rows.Count, 2).End(xlUp).Row

    Set rng = Worksheets("Foglio2").Range("a1:a" & ur)

    Application.ScreenUpdating = False

    For Each cel In rng

        For i = 1 To ur

            Worksheets("Foglio1").Range("b4").Value = cel.Value

            Worksheets("Foglio1").Range("c4").Value = Worksheets("Foglio2").Range("B" & i)

            ActiveSheet.Range("$A$5:$AJ$" & lr).AutoFilter Field:=2, Criteria1:=Range("b4").Value

            ActiveSheet.Range("$A$5:$AJ$" & lr).AutoFilter Field:=3, Criteria1:=Range("c4").Value

            If Range("d2").Value <> 0 Then

                ActiveWorkbook.SaveAs Filename:="C:\Chemical" & Range("B4").Value & " " & Range("c4").Value & ".xlsm", FileFormat:= _

                xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

            End If

        Next i

    Next cel

    Range("B4").AutoFilter

    Application.ScreenUpdating = True

    End Sub

    Tieni presente che per poter funzionare devi avere una directory c:\chemical\

    Poi nella cartella va aggiunto un foglio (che magari nascondi) dove nelle colonne A e B vanno undicati univocamente filiali e venditori.

    Alfredo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-10-04T16:33:41+00:00

    Ciao Marco,

    Benvenuto alla Community.

    avrei la necessità di una macro che velocizzi l'operazione seguente:

    [Cut]

    Al fine di massimizzare la possibilità di ricevere risposte utili vorrei fare due suggerimenti:

    • Cancella questa Discussione e al suo posto apri invece una Domanda.
    • Per evitare che chi volesse rispondere deve indovinare la struttura, disposizione e la natura dei tuoi dati e poi ricrearle in un file di prova, ti chiederei gentilmente di caricare un file di esempio, privo di dati sensibili, su un servizio di file-sharing, del tipo Microsoft OneDrive o DropBox, e postare un link al file in una risposta qui.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento