macro copia incolla righe in automatico da un foglio ad un altro dello stesso file

Anonimo
2012-10-20T08:37:38+00:00

spero di esserci riuscito,se ancora e' negativo,puoi darmi una email dove inviarlo

grazie

maurizio caserta

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-11-28T10:38:54+00:00

Ciao Maurizio,

ho modificato il tuo file. Di seguito il link

Sistem Trading modificato

Non ho potuto fare l'aggiornamento completo dei dati (con la cattura via web) in quanto mi viene richiesto un file che non ho. Tuttavia la funzionalità del timer e della copia dei dati tra i due fogli funziona correttamente.

David

La risposta è stata utile?

0 commenti Nessun commento

25 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-11-20T09:51:29+00:00

    Ciao Maurizio,

    io direi ... andiamo per piccoli passi.

    Intanto analizziamo il codice proposto da Mauro per gestire una macro temporizzata:

    • la macro mStart inizializza il timer. Nell'esempio di Mauro la macro mSaluta verrà richiamata ogni 5 secondi. Se a te serve che la tua macro venga richiamata ogni 3 minuti devi cambiare la chiamata in questo modo:

    Application.OnTime Now + TimeValue("00:03:00"), "mSaluta"

    sostituendo ovviamente mSaluta con il nome della tua macro che vuoi eseguire ogni 3 minuti.

    Il resto, sinceramente, l'ho capito poco. Non ho capito se vuoi copiare solo le nuove righe dal foglio dati al foglio calcolo oppure vuoi ogni volta ricopiare tutto il foglio dati sul foglio calcolo.

    Quella che segue è una macro (ma è solo un esempio da adattare) che copia tutte le celle presenti in un foglio chiamato Dati incollandole (cancellando prima quelle esistenti) in un foglio chiamato Calcolo. Ovviamente questa macro andrebbe lanciata dopo l'altra che aggiorna il foglio Dati


    Sub CopiaCalcolo()

        Dim shOrigine As Worksheet

        Dim shDestinazione As Worksheet

        With Application

            .ScreenUpdating = False

            .Calculation = xlCalculationManual

        End With

        With ThisWorkbook

            Set shOrigine = .Worksheets("Dati")

            Set shDestinazione = .Worksheets("Calcolo")

        End With

        With shDestinazione

            .UsedRange.ClearContents

            shOrigine.UsedRange.Copy

            .Range("A1").PasteSpecial _

                Paste:=xlPasteValues, _

                SkipBlanks:=False

        End With

        With Application

            .ScreenUpdating = True

            .CutCopyMode = False

            .Calculation = xlCalculationAutomatic

        End With

        Set shOrigine = Nothing

        Set shDestinazione = Nothing

    End Sub


    David

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-11-20T09:20:45+00:00

    scusami ancora una macro che aggiorna costantemente il grafico ,puoi dirmi,o darmi indicazione

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-11-20T09:15:09+00:00

    buon giorno scusami per il ritardo,ho bisogno di capire dove la posso inserire,come la posso modificare,nella macro da te proposta posso eliminare la riga del messaggio?,

    ed nella riga di

    Public Sub mStart()

    Application.OnTime Now + TimeValue("00:00:03"), "mSaluta"
    bln = True
    

    End Sub

    dove dice "msaluta" ci posso sostituire il nome della macro? o del modulo?che eseguira' il lavoro di copia ed incolla solo valori, ogni nuova e singola riga

    ed un'altra cosa una macro che copia ed incolla ogni singola riga dal foglio "dati "al foglio "calcolo" sempre temporizzata come posso fare?,in sostanza il foglio calcolo e' l'immagine speculare del foglio dati che si aggiorna al pari,ma non so come realizzare la macro che mi copia ed incolli solo i valori.

    mi chiedo come dev'essere la macro,e' vero ho la macro che copia ed incolla i valori dal ..al..

    ma non ogni nuova singola riga,nel senso che se adesso che sono per esempio le 9:03

    la macro che tu mi hai suggerito,azionera' la macro che dovra' copiare la riga delle 9:03,la deve incollare poi nel foglio calcolo,cosi quando saranno le 9:06 il ciclo si ripete,riga dopo riga.

    Quella macro che copia ed incolla la posso modificare?,come la posso modificare? quindi si tratterebbe di creare un codice che tenga conto di ogni nuova riga che sara' nel foglio "dati"

    e li copia ed incolla in sequenza nel foglio calcolo.

    Ps ho il cervello sulla padella a frigere

    grazie ancora

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-11-19T09:19:51+00:00

    ............

    e per me non e' una soluzione, perche ho bisogno di una macro che copia ed incolla ogni singola nuova riga dal foglio dati al foglio calcolo rispettando il tempo dei tre minuti

    .......

    Ciao Maurizio,

    mi permetto di sintetizzare tutto il tuo codice nell'ultima frase in quanto mi sembra di capire che tutto il resto funzioni e che il tuo unico problema sia quello di temporizzare la macro.

    Ti rimando quindi a questo link Timer per temporizzare macro - VBA dove troverai un esempio esauriente.

    David

    La risposta è stata utile?

    0 commenti Nessun commento