Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Macro per salvare da foglio a foglio in posizione progressiva

Ultimo Aggiornamento: 27/10/2017 19:03
Post: 6
Registrato il: 01/06/2016
Città: PISA
Età: 64
Utente Junior
2003
OFFLINE
25/10/2017 16:34

Buon pomeriggio a tutti. Spero di aver azzeccato la sezione giusta. Vengo subito alla domanda:
ho l'esigenza di copiare i valori presenti nella colonna (ad esempio) A10:A30 dal foglio 1 al foglio 2, partendo dalla cella A1 (quindi i valori verrebbero scritti in A1:A20); ogni volta che devo effetuare una copia, questa deve essere "accodata" alla cella successiva del foglio 2 (in pratica partendo dalla cella B1:B20) e così via... altra copia della stessa colonna del foglio 1, copierà in C1:C20 del folgio 2.
Spero di essere stato chiaro.
Purtroppo ho conoscenze di VBA quasi pari a zero e mi hanno detto che per gestire una cosa del genere....il VBA è l'unica strada.
Grazie.
Elio

EcoBand
Post: 3.969
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
25/10/2017 19:47

Sub copia()
LC = Sheets(2).Cells(1, Cells.Columns.Count).End(xlToLeft).Column + 1
If Sheets(2).Cells(1, 1) = "" Then LC = 1
Sheets(1).Range("A1:A20").Copy Sheets(2).Cells(1, LC)
End Sub

[Modificato da patel45 25/10/2017 20:31]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 583
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
25/10/2017 20:29

Un saluto a tutti.
Ehm, vedo che arrivo tardi ma dato che la richiesta era "a partire dalla colonna A del Foglio2" propongo questa macro, che si può mettere nel modulo del Foglio1 o in un apposito Modulo vba, da lanciare con i tasti Alt+F8 oppure associandola ad un pulsante.
Option Explicit

Sub Copia_da_1_a_2()

    Dim UC As Long

    With Sheets("Foglio2")
        On Error Resume Next    'serve solo per la prima colonna quando il Foglio2 è vuoto
        'rileva l'ultima colonna utilizzata nel Foglio2
        UC = .Cells.Find(What:="*", After:=.Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
        On Error GoTo 0         'ripristina controllo errori
        'copia dal Foglio1 ed incolla in Foglio2 a partire dalla prima colonna utile
        Sheets("Foglio1").Range("A10:A30").Copy Destination:=.Cells(1, UC + 1)
    End With
    Application.CutCopyMode = False

End Sub
[Modificato da rollis13 25/10/2017 20:33]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 6
Registrato il: 01/06/2016
Città: PISA
Età: 64
Utente Junior
2003
OFFLINE
26/10/2017 08:09

chiedo venia!!!
ho provato a creare la macro ma non funziona!
Penso che avrei dovuto dire che lavoro con Excel 2003?
Ammetto di essere una frana!
EcoBand
Post: 7
Registrato il: 01/06/2016
Città: PISA
Età: 64
Utente Junior
2003
OFFLINE
26/10/2017 08:25

Patel45
Grazie anche a te per l'interessamento. Con la macro qualcosa funziona ma quando copia sul foglio 2, copia tutto (formule comprese); a me interesserebbe copiare solo i valori e, forse, è stata una mia dimenticanza....
Chiedo venia anche a te. [SM=x423047]
EcoBand
Post: 584
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
27/10/2017 00:16

Non ho un Excel 2003 per fare un test ma credo che così come ho modificato la macro vada meglio. Eventualmente, in caso di ulteriori incompatibilità, sostituisci la corrispondente riga con quella che riporto in fondo.
Option Explicit

Sub Copia_da_1_a_2()

    Dim UC As Long

    With Sheets("Foglio2")
        If WorksheetFunction.CountA(.Cells) = 0 Then     'serve quando il foglio è vuoto
            UC = 0
        Else
            UC = .UsedRange.Columns(.UsedRange.Columns.Count).Column
        End If
        Sheets("Foglio1").Range("A10:A30").Copy
        .Cells(1, UC + 1).PasteSpecial xlPasteValues
    End With
    Application.CutCopyMode = False

End Sub

'        If Application.WorksheetFunction.CountA(.Cells) = 0 Then

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 8
Registrato il: 01/06/2016
Città: PISA
Età: 64
Utente Junior
2003
OFFLINE
27/10/2017 17:58

Funzionaaaa!!!!!!
Grazie, grazie e ancora grazie!!!
EcoBand
Post: 585
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
27/10/2017 19:03

Grazie del riscontro positivo [SM=g27811]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Vota: 15MediaObject5,0018 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:42. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com