Cosiglio su macro

di il
5 risposte

Cosiglio su macro

Buongiorno, ho creato una macro che se  seleziono una scadenza  me la dovrebbe copiare nel foglio personale.

La prima volta funziona 

Ma non va bene, perchè se scelgo un altra scadenza mi sovrascrive sempre la stessa. 

non so come risolvere.

Questo è il codice della macro che mi ha creato in aufomatico

Guardando il codice vedo che le celle sono sempre le stesse, invece dovrebbe riconoscere la cella attiva, sia nel foglio scadenze, e nel foflio personale dovrebbe scrivere nell'ultima cella vuota.

  Sheets("SCADENZE").Select
    Range("B4").Select
    Selection.Copy
    Sheets("PERSONALE").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("SCADENZE").Select
    Range("C4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("PERSONALE").Select
    Range("C202").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("SCADENZE").Select
    Range("D4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("PERSONALE").Select
    Range("F202").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("SCADENZE").Select
    Application.CutCopyMode = False
    Sheets("PERSONALE").Select
    Range("A203").Select
End Sub

5 Risposte

  • Re: Cosiglio su macro

    Senza entrare nel merito di codice ridondante e Select/Selection inutili frutto dell'uso del Registratore, per prima cosa completa la macro con le righe mancanti che ho indicato.

    Poi potrai pensare di utilizzare una variabile, per individuare la cella successiva, da utilizzare in due cicli, uno per individuare la cella da copiare ed uno per individuare la cella in cui incollare.

    Option Explicit
    Sub test()
        Sheets("SCADENZE").Select
        Range("B4").Select
        Selection.Copy
        Sheets("PERSONALE").Select
            '-> in che cella va incollato il dato di B4 ?
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        
        Sheets("SCADENZE").Select
        Range("C4").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("PERSONALE").Select
        Range("C202").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        
        Sheets("SCADENZE").Select
        Range("D4").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("PERSONALE").Select
        Range("F202").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        
        Sheets("SCADENZE").Select
            '-> da che cella viene copiato il dato ?
        Application.CutCopyMode = False
            '-> qui manca il Copy
        Sheets("PERSONALE").Select
        Range("A203").Select
            '-> qui manca il PasteSpecial
    End Sub
  • Re: Cosiglio su macro

    Grazie per la risposta, ma non lo so fare

  • Re: Cosiglio su macro

    Ti ho segnato quattro punti da riempire dei quali almeno ai primi due va data risposta dato che solo tu puoi conoscere visto che non hai allegato un esempio della struttura del tuo file. Poi per essere d'aiuto si può anche andare a tentoni.  

  • Re: Cosiglio su macro

    Come ti è stato già detto in altri thread precedenti

    https://www.iprogrammatori.it/forum-programmazione/excel/scadenzario-automatico-t51952.html

     sempre sulle scadenze, in questo forum NON si fornisce codice pronto (come in altri forum), tanto meno ci si attende un file su cui gli altri devono lavorare al posto tuo.

    Hai avuto dei suggerimenti su cosa studiare e fare, se non riesci a metterli in pratica affidati ad una persona che ti scriva il codice. Anche se per hobby o da dilettante è necessario studiare e scrivere il codice per conto proprio e non ririchiederlo al forum. 

  • Re: Cosiglio su macro

    Grazie del link @oregon, mi hai aperto una finestra con una visuale nuova. Ora mi metto in un angolo così da poter osservare meglio il panorama.

Devi accedere o registrarti per scrivere nel forum
5 risposte