Spostamento celle excell



  • Spostamento celle excell
    di Serantorino (utente non iscritto) data: 13/06/2012

    Sono uovo e non so usare le macro e dalla domanda che segue si capisce molto bene ;) :

    ho un foglio con riga 21 e celle h ed i occupare da del testo

    vorrei spostarne il contenuto nella riga 22 e celle f e g

    quindi da h21 a f22 e da i21 a g22

    per tutto il foglio di circa 2400 righe

    quale coice devo registrare in una macro?
    grazie


  • Spostamento celle excell
    di Serantorino (utente non iscritto) data: 13/06/2012

    Sono uovo e non so usare le macro e dalla domanda che segue si capisce molto bene ;) :

    ho un foglio con riga 21 e celle h ed i occupare da del testo

    vorrei spostarne il contenuto nella riga 22 e celle f e g

    quindi da h21 a f22 e da i21 a g22

    per tutto il foglio di circa 2400 righe

    quale coice devo registrare in una macro?
    grazie



  • di Harrybosch data: 15/06/2012

    Ciao, sono vanni
    dovresti spiegare meglio quello che vuoi copiare; da quanto ho capito, mi sembra che le operazioni siano queste:
    - spostamento della cella h21 alla cella f22 (non copiatura, giusto?)
    - spostamento della cella i21 alla cella g22
    - non è chiaro l'ultimo passaggio: lungo le 2400 righe cosa vuoi ripetere?
    gli stessi valori f22 e g22 o lo stesso "schema"?
    ogni riga successiva alla 22-esima oppure ogni 21 righe?

    dovresti dettagliare meglio la tua richiesta...

    i primi due punti sarebbero risolvibili anche con il registratore di macro, del quale ti consiglio l'utilizzo per confrontarne il codice con quanto ti riporto sotto.
    in attesa,
    ciao, vanni

     
    In un modulo inserisci questi due codici; provali entrambi.
    
    'in questo modo sposti solo i valori:
    
    Sub copiavalori()
        'memorizzo i valori delle due celle
        c = Range("h21:i21").Value
        'copio i valori memorizzati nelle nuove celle
        Range("f22:g22").Value = c
        'cancello il contenuto delle celle precedenti
        Range("h21:i21").ClearContents
    End Sub
    
    
    'in questo modo sposti anche i formati e quindi eventuali formule:
    
    Sub copiaformati()
        'taglio le due celle
        Range("h21:i21").Cut
        'seleziono dove voglio incollarle
        Range("f22").Select
        'incollo
        ActiveSheet.Paste
    End Sub
    



  • di Serantorino (utente non iscritto) data: 15/06/2012

    Grazie della risposta

    copia o taglia è indifferente, anche cancellare è indifferente (le 2 colonne saranno eliminate)

    quindi da h21 a f22 e da i21 a g22
    e
    h22-f23 e i22-g23

    quindi non lo stesso valore, ma lo stesso schema per tutte e 2400 righe



  • di Harrybosch data: 15/06/2012

    Ok... mi sembra di aver capito.
    il codice qua sotto ti copia le celle delle colonne h e i a partire dalla riga 21 e le incolla nelle colonne f e g a partire dalla riga 22.

    c'è anche l'istruzione per cancellare le colonne h e i se non servono più dopo la copiatura.

    altrimenti fammi sapere,
    ciao vanni
     
    Sub copia()
    
        'seleziono le celle della colonna h e i fino alla riga desiderata
        Range("h21:i2400").Copy
        
        Range("f22").Select
        ActiveSheet.Paste
    
        'se al termine vuoi eliminare le colonne h e i, allora:
        'Columns("h:i").Delete
    
    End Sub