macro come andare a capo



  • macro come andare a capo
    di Zannacesena (utente non iscritto) data: 08/02/2013 11:39:02

    Ho registrato la seguente macro:
    Sub Macro3()
    '
    ' Macro3 Macro
    '

    '
    Range("B24:C24").Select
    Selection.Copy
    Sheets("Foglio3").Select
    Range("A2").Select
    ActiveSheet.Paste
    Sheets("Foglio1").Select
    End Sub

    che mi permette di copiare i dati dal foglio1 area B24:C24 nel foglio3 area A2, ma come posso digli che al prossima eseguzione i dati di B24:C24 me li deve salvare nella riga sotto A3 e cosi via per ogni volta che viene eseguita la macro?

    grazie
    Enrico



  • di HarryBosch data: 08/02/2013 13:12:52

    Ciao Zanna
    hai fatto bene ad utilizzare il registratore che ti fornisce un primo valido aiuto a creare le proprie macro.
    Talune cose non sono infatti registrabili: nel tuo caso devi determinare ogni volta l'ultima riga occupata e qua ci sono diversi metodi.
    Ti propongo una soluzione abbastanza semplice:
    - con l'instuzione ur= determini quante celle sono occupate della colonna a
    - con la seconda Copy Destination:= in un colpo solo decidi cosa copiare e dove. Per il dove, aggiungo un +2 perché dal tuo esempio la prima riga va copiata dalla riga 2
     
    Sub Macro3()
        Dim ur As Integer
    
        ur = Sheets("Foglio3").[counta(a:a)]
    
        Range("B24:C24").Copy Destination:=Sheets("Foglio3").Cells(ur + 2, 1)
        
    End Sub
    



  • di Zannacesena (utente non iscritto) data: 08/02/2013 16:38:01

    Grazie