Risultati da 1 a 4 di 4

Discussione: Macro: variabile per selezione riga



  1. #1
    L'avatar di Luigi Traversetti
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Macerata
    Età
    43
    Messaggi
    18
    Versione Office
    Excel 2010
    Likes ricevuti
    2
    Likes dati
    13

    Macro: variabile per selezione riga

    Ciao a tutti,
    provo a derscrivervi il mio problema:
    mensilmente estraggo dal gestionale dell'azienda dove lavoro un file in formato ".csv" (per l'esattezza il file lo chiamo: "document.csv") sul quale effettuo le seguenti operazioni:
    1 - lo importo in excel tramite "Importa dati esterni";
    2 - applico il filtro automatico a tutte le colonne;
    3 - dalla colonna "J" (COD.RIFERIM.), tramite il filtro, seleziono tutte le righe contenenti il valore "C1", quindi le elimino tutte;
    4 - ripeto il precedente punto 3 anche per i valori "C7", "S1", "S5" e "S9"
    5 - compio altre operazioni che non mi creano problemi
    6 - salvo il file con il nome BGT.xls


    Dato che devo eseguire questa operazione tutti i mesi e non conoscendo il VBA, ho registrato una macro che ho salvato nel file "Elabora BGT.xls".

    La macro funziona a dovere, il problema è che il file "document.csv" che estraggo mensilmente dal gestionale, pur avendo sempre la stessa struttura, ogni mese contiene dei dati diversi (ovviamente!): quindi, ad esempio, se nel mese X la prima riga che contiene il valore "C1" nella colonna "J" è la riga nr. 12, nel mese X+1 la prima riga che contiene il valore "C1" nella colonna "J" potrebbe essere la nr. 5. Avendo registrato la macro nel mese X, il file "BGT.xls" (prodotto dalla macro) contiene anche la riga nr. 5 (con il valore "C1") che io avrei dovuto eliminare.


    Il codice VBA che compie questa operazione dovrebbe essere questo:


    Selection.AutoFilter Field:=10, Criteria1:= _
    "C1"
    Rows("12:12").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp


    Come posso modificare quell'istruzione "fissa" -- Rows("12:12").Select -- in una istruzione "variabile" di modo che la selezione (e la successiva eliminazione delle righe) venga effettuata dalla prima riga contenente il valore "C1"?


    Se possibile (però, se devo aprire un'altra discussione, ditemelo che lo faccio) avrei bisogno che anche il nome del file fosse "variabile" e dovrebbe avere questa struttura: "BGT 16.mese X-1.anno - 15.meseX.anno.xls" (nell'elaborazione di questo mese il nome del file dovrebbe corrispondere a:"BGT 16.09.2015 - 15.10.2015.xls).


    Tramite -- http://dropcanvas.com/htdfi -- trovate "Elabora BGT.zip" dove ho messo i file "document.csv" e "Elabora BGT.xls" (per ricollegarmi a quanto detto sopra, i dati contenuti nel file sono relativi al mese X).


    Mi scuso se, nonostante questa lunga esposizione del mio problema, non sono stato abbastanza chiaro...
    Grazie comunque a tutti.

  2. #2
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Luigi Traversetti Visualizza Messaggio
    Ciao a tutti,
    provo a derscrivervi il mio problema:
    mensilmente estraggo dal gestionale dell'azienda dove lavoro un file in formato ".csv" (per l'esattezza il file lo chiamo: "document.csv") sul quale effettuo le seguenti operazioni:
    1 - lo importo in excel tramite "Importa dati esterni";
    2 - applico il filtro automatico a tutte le colonne;
    3 - dalla colonna "J" (COD.RIFERIM.), tramite il filtro, seleziono tutte le righe contenenti il valore "C1", quindi le elimino tutte;
    4 - ripeto il precedente punto 3 anche per i valori "C7", "S1", "S5" e "S9"
    5 - compio altre operazioni che non mi creano problemi
    6 - salvo il file con il nome BGT.xls
    OK ti ho risolto la cancellazione delle righe contenenti in colonna "J" i valori (C1 - C7 - S1 - S5 - S9)
    per quanto riguarda il salvataggio del file con nomi diversi una inputbox ti richiederà qual'è la parte variabile e ti salverà il file ( es.: BGT - 16.09.2015 - 15.10.2015.xls dove 16.09.2015 - 15.10.2015 è la parte che gli dai tu ed il resto è fisso).
    Nel VBA devi cambiare le destinazioni che io ho messo in maniera fittizia.

    Spero di esserti stato d'aiuto
    :299:

    https://www.dropbox.com/s/j5opm23gyvfyimv/document.xlsm?dl=0

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  3. I seguenti utenti hanno dato un "Like"


  4. #3
    L'avatar di Luigi Traversetti
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Macerata
    Età
    43
    Messaggi
    18
    Versione Office
    Excel 2010
    Likes ricevuti
    2
    Likes dati
    13
    Perfetto Baloon!!!
    Non potevo chiedere di meglio!
    Grazie

  5. #4
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Luigi Traversetti Visualizza Messaggio
    Perfetto Baloon!!!
    Non potevo chiedere di meglio!
    Grazie
    Grazie a te per il riscontro positivo :299:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

Discussioni Simili

  1. Macro per stampare una selezione A1:046
    Di filippo nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 14/02/17, 17:35
  2. (non) selezione celle protette con macro
    Di tony99 nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 09/01/17, 23:09
  3. Risposte: 19
    Ultimo Messaggio: 21/11/16, 16:32
  4. Macro per stampare selezione
    Di Adi_90 nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 10/06/16, 00:31
  5. celle precedenti con colonna fissa e riga variabile
    Di mpaolett nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 19/05/16, 21:45

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •