Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    35

    VBA Macro Excel - Problemi copia tra Sheet

    Ciao a tutti,

    Devo creare una macro che data una tabella che si trova nello sheet1 mi deve copiare riga per riga il contenuto nello sheet2, il porblema e' che questa operazione quando la eseguo mi continua ad effettuare il cambio di sheet e non e' una cosa bella da vedersi.

    Sapete dirmi come ovviare a tale problema.

    Grazie e ciao.

  2. #2
    Se usi il riferimento alle proprietà del foglio di lavoro non ti cambia, ogni volta il foglio attivo.

    Prova questo ciclo (ovviament Foglio1 e Foglio2 vanno cambiati a tuo uso):
    codice:
    Dim row As Double
    For row = 1 To Foglio1.Rows.Count
         Foglio2.Rows(row).Value = Foglio1.Rows(row).Value
    Next row
    P.S. In realtà il ciclo risulta molto lento perchè copia le righe di tutto il foglio di lavoro. Vedi tu come limitare il ciclo (al limite chiedi).

    A tutti i COBOL-isti/CICS-isti/DB2-isti come me: l'adunanza è iniziata; ne resterà soltanto uno.
    È meglio bruciare subito, che spegnersi lentamente.

    Per fare un fumetto di successo ci voglio le tre "A": Azione - Avventura - Atette
    Ratman

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non ho capito perchè non fai copia incolla di tutto il range in un colpo solo.
    Comunque potrebbe tornarti utile un codice del genere:

    codice:
    Application.ScreenUpdating = False
    ' codice che devi eseguire
    Application.ScreenUpdating = True

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    35
    Scusa ma adesso si presenta un altro problema (l'n-esimo).

    Come faccio a copiare anche la struttura della tabella?

    Cioe': Colori testo, bordi tabella....

    Grazie e ciao.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    L'esempio che segue copia il range a1:b3 del foglio 1 nel foglio 2 preservando la formattazione

    codice:
    Sheets(1).Range("a1:b3").Copy Destination:=Sheets(2).Range("a1")

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    35
    Ok, grazie mille.

    Problema risolto.

    Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.