Risultati da 1 a 21 di 21

Discussione: macro



  1. #1
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    macro

    salve a tutti


    ho un piccolo problema per la registrazione di una macro; cerco di spiegarlo:


    devo spostare una colonna di 5 celle da a1 a d20, fino a qui tutto normale, registro la macro e quando mi serve la eseguo. il problema mi nasce quando la stessa colonna, da a1, da spostare contiene piu' celle occupate, infatti se eseguo la stessa macro, mi sposta solo le 5 celle; quello che vorrei è che mi spostasse la colonna con tutte le celle occupate.


    saluti

  2. #2
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    vuoi spostare solo le celle piene o tutta la colonna?

    Nel secondo caso, puoi registrare la macro selezionando, al posto del range, la colonna di origine.

    Altrimenti spiega meglio e dettagliatamente quello che vuoi fare.

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  3. #3
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    a me interessa spostare solo le celle piene, che pero' non sono sempre le stesse in numeri di celle.

  4. #4
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    allora come già detto:
    Citazione Originariamente Scritto da tanimon Visualizza Messaggio
    Altrimenti spiega meglio e dettagliatamente quello che vuoi fare.
    servono i criteri di dove e in che ordine vuoi spostare i dati di origine

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  5. #5
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    io non sono pratico di programmazione, la macro la so solo registrare....cosa serve?

  6. #6
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    crea un file con dati di fantasia per i due range interessati:
    range dati di origine
    range di destinazione,
    nel quale li riporti ESATTAMENTE come vuoi che siano dopo avere eseguito la macro.

    Poi allega il file alla discussione.
    Io o qualcun'altro ti darà una mano

    Puoi anche, registrando la macro,
    riportarli nel range di destinazione, così cominci a vedere un pò di codice....:271:

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  7. #7
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    ciao
    ho allegato una macro prova.....all'interno c'è spiegato tutto
    File Allegati File Allegati

  8. #8
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    potresti fare tutto nel foglio1....
    o devi per forza utilizzare il folio2?

    Voglio dire,
    si può fare, ma non è meglio avere i dati nello steso foglio?

    ma vedendo meglio il file,
    se di fianco alla colonna A inserisci questa formula
    Codice: 
    =A1+(A1*0,1)
    e trascini in basso, non ottieni la stessa cosa senza macro?

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  9. #9
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    non posso utilizzare solo 1 foglio perchè ci sono varie azioni di cerca.vert e altre varie azioni di calcoli....
    pero' se non c'è una soluzione semplice mi sta venendo un'idea, devo cercare di sincronizzare i fogli in modo che quando devo lavorare una colonna, la seleziono tutta, la copio e la vado ad incollare nell'altro foglio di competenza; sperando pero' che quando quando copio una colonna per intero ed è popolata da 5 celle, mi copi anche tutte le celle se sono superiore a 5.

  10. #10
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    la modifica che ho fatto al mio post precedente non ti è di aiuto?
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  11. #11
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    quella formula va bene, ma solo su quel tipo di azione da svolgere, purtroppo ho molte altre azioni da svolgere e di diverso tipo, solo a spiegarti gia' e complicato.
    comunque provero' come ho detto prima... dovrebbe andare bene. poi ti faccio sapere!
    comunque grazie!!

  12. #12
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    Quindi se non capito male, a secondo del caso, la colonna di origine e quella di destinazione,
    sono VARIABILI?

    Se fosse così, come ti chiedevo all'inizio,
    capisci che i criteri di scelta delle due colonne sono DETERMINANTI,
    ed aiutarti senza vedere la REALE struttura dei dati diventa quasi impossibile.

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  13. #13
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    e da poco che ho conosciuto le macro, quindi non capisco i termini tecnici; una cosa volevo domandarti:
    c'è differenza tra una macro registrata e una macro con le identiche azioni creata con il codice di programmazione?

  14. #14
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: macro

    ai fini pratici del risultato, di norma, non c'è differenza.

    Il registratore registra passo passo quello che fa l'utente ed inserisce nella macro ciò che è necessario ed a volte,
    anche qualcosa di superfluo.

    Scrivendo il codice, non registrandolo,
    lo stesso risulta più efficiente e leggibile in quanto chi lo scrive
    inserisce lo stretto necessario.

    O almeno dovrebbe provare a farlo.

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  15. #15
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    ok grazie mille !!!

  16. #16
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: macro

    Citazione Originariamente Scritto da giannilima Visualizza Messaggio
    a me interessa spostare solo le celle piene, che pero' non sono sempre le stesse in numeri di celle.




    Citazione Originariamente Scritto da giannilima Visualizza Messaggio
    e da poco che ho conosciuto le macro, quindi non capisco i termini tecnici; una cosa volevo domandarti:
    c'è differenza tra una macro registrata e una macro con le identiche azioni creata con il codice di programmazione?

    per noi esseri senzienti, le parole potrebbero avere anche significati differenti a seconda del contesto e delle varie interpretazioni. Per le macchine invece, le parole sono tanto importanti da portarle anche a non farle funzionare.

    Se le azioni sono IDENTICHE, una macro scritta dal registratore potrà anceh essere differente nella forma ma IDENTICA nei fini da ottenere.
    Se le azini NON SONO SEMPRE LE STESSE, macro scritte, sia attraverso il registratore, sia da esseri umani senzienti, anceh se identiche nella forma, daranno luogo a fini DIFFERENTI.

    Comunque, la peculiarità del registratore, come dice bene TaniBon, è che esso registra PASSO dopo PASSO, ogni azione compiuta.
    Noterai nelle macro (ed anche in utenti molto inesperti) che ogni istruzione, ogni riga della macro, contiene la parola SELECTION all' inizio, oppure la parola SELECT alla fine.

    Questa peculiarità è data dal fatto che il registratore non può sapere che intenzioni tu abbia dopo ogni singola azione, quindi lui la registra come se quella fosse l' ultima cosa che fai.
    una tua macro, invece, è pianificata e sai esattametne cosa vuoi ottenere, quindi sai se sei alla fine delle tue azioni oppure ancora nel bel mezzo di nostra vita


    ....
    Il consiglio che mi sento di dare è questo:

    immaginiamo di avere una scatola chiusa dove NESSUNO sa cosa c'è dentro. questa è la nostra macro. Per fare si che qualcuno ti possa dare una mano a svelare come sia fatta la suo interno servono due semplici cose:

    1 - Cosa deve fare esattamente (output/uscita/risultato)
    2 - cosa ho a disposizione per farla. (input/ingresso/dati di partenza)


    In bocca a lupo edun saluto a tutti i partecipanti :)

  17. #17
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4920
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1127

    Re: macro

    giannilima, benvenuto in forumexcel
    Il titolo che hai scritto non va bene, perchè il titolo deve anticipare il problema come scritto nel regolamento


    Regola nr.5 "il titolo"
    Assicurarti che il titolo sia il più chiaro possibile e che corrisponda al problema, usa termini appropriati che saranno usati come meta tag per una eventuale ricerca su Google.
    Evita di scrivere frasi inutili come “Aiuto” “Urgente ” “Non ci capisco niente” e "sono bloccato"
    perché potrebbero rivelarsi non appropriate e di conseguenza le tue discussioni potrebbero essere non lette.
    Ti consiglio di scrivere titoli che vanno dritto al problema esempio: "come faccio ad analizzare dati....." "come faccio ad estrarre records....." "come faccio a calcolare......." "come creare una TPivot......"
    I titoli ed i testi devono essere scritti in italiano corretto, sia grammaticamente che ortograficamente; postare frasi con errori evidenti è sempre una forma di NON rispetto per chi legge.

  18. #18
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    ciao sono ritornato.
    ho registrato una macro con le azioni che servono a me, ho allegato il codice generato e un codice con le spiegazioni
    accanto alle stringhe di quello che mi serve, sperando si possa modificare.
    saluti

    ----------Post unito in automatico----------

    non vedevo caricato il file txt
    File Allegati File Allegati

  19. #19

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2833
    Versione Office
    Excel 2013
    Likes ricevuti
    1027
    Likes dati
    983

    Re: macro

    Il file che hai allegato non aiuta per niente, infatti avresti potuto tranquillamente scrivere la routine tra i TAG.

    Il codice creato con il registratore ha dei limiti. Prima di tutto il registratore non dichiara le variabili, secondo registra anche azioni "inutili", ecc.
    Per determinare l'ultima cella piena, puoi usare una variabile tipo:
    Codice: 
    Dim uRiga as Long
    uRiga = Range("j" & Rows.Count).End(xlUp).Row
    questa variabile servirà per determinare il range da modificare, tipo:
    Codice: 
    Range("K2:K" & uRiga) = 0 'è superfluo scrivere Range("K2:K" & uRiga).FormulaR1C1 = 0
    P.S. quando il registratore scrive:
    Codice: 
    Rows("1:1").Select
    Selection.Copy
    puoi tranquillamente accorciare in:
    Codice: 
    Rows("1:1").Copy
    evitando di selezionare prima e copiare dopo

    P.P.S. Puoi inserire un commento direttamente nell'editor VBA scrivendo con un apice e poi il testo, tipo
    Codice: 
        Selection.AutoFill Destination:=Range("K2:K511") 'qua ho modificato il range fino a k511, adesso mi scrive lo "0" fino a k511 invece di k11
    'come avevo registrato cosa giusta per questa stringa, sarebbe che mi generasse in automatico le celle piene della colonna che la precede

  20. #20
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: macro

    salve
    grazie di tutto...questo fosso sono riuscito a saltarlo, in un modo grezzo, ma efficace.
    ho registrato la macro con una quantita' maggiore di prodotti da lavorare, quindi eseguendo la magro con meno prodotti, me li lavora tutti.
    saluti......ho aperto un'altra discussione

  21. #21

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2833
    Versione Office
    Excel 2013
    Likes ricevuti
    1027
    Likes dati
    983

    Re: macro

    Se hai risolto il problema, segna questa discussione come "RISOLTO".
    Vai sul menù "Strumenti Discussione" (all'inizio del thread) e scegli la voce "Segna questo thread come risolto...".

    EDIT: Appena sarà ripristinata la funzione RISOLTO

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
  •