Excel: una macro per copiare / incollare un intervallo selezionato

Problema

Ho un riepilogo dei dati per mese in un foglio e i dati grezzi in un altro foglio. Invece di creare più fogli di lavoro per i miei dati non elaborati per ogni mese, voglio cancellare i dati del mese precedente e sostituirli con nuovi dati. Per fare ciò dovrò copiare le formule che hanno creato il riassunto su un'altra colonna (per il nuovo mese) e quindi copiare e incollare il valore dei dati di riepilogo del mese corrente (quindi una volta modificati i dati grezzi sorgente non cambierebbe il mio valori lì).

Esempio

 ABCD Gen Feb Mar Apr 1 5 6 7 

Vorrei che il mio risultato finale fosse simile (ad esempio, copia da A3: A6 e incolla su B3, poi il mese prossimo copierà da B3: B6 e incollerà su C3 e così via).

 ABCD Gen Feb Mar Apr 1 1 5 5 6 6 7 7 

Gen e Feb sono gli stessi al momento perché la copia e incolla avverrà prima che i nuovi dati grezzi siano stati sostituiti.

Spero che abbia senso. Ho pochissime conoscenze nella scrittura di VB, ma riesco a leggere e capire quelle semplici. Qualcuno potrebbe aiutarmi con una macro che lo farà automaticamente?

Soluzione

Questa macro utilizza una casella di input per chiedere quale mese si sta aggiornando. Utilizza valori numerici invece di digitare nel mese. Esempio: Gen. = 1, Feb. = 2, Mar. = 3. Suppongo che non vorrai aggiornare gennaio, quindi la macro uscirà se 1 è digitato nella casella di input (a meno che non venga aggiornato da dicembre, allora possiamo cambiare esso).

Spero che questo ti aiuti.

 Sub Update_Month () Dim risposta As Variant Dim jj = 3 answer = InputBox ("Che mese stai aggiornando?" & VbCrLf & _ "Es: gennaio = 1, febbraio = 2, marzo = 3, ecc.") Seleziona Risposta caso Caso 1 Esci Sub Caso 2 Per j = 3 a 6 Intervallo ("B" & j) = Intervallo ("A" e j) Successivo j Caso 3 Per j = 3 a 6 Intervallo ("C" & j) = Intervallo ( "B" & j) Successivo j Caso 4 Per j = da 3 a 6 Intervallo ("D" & j) = Intervallo ("C" e j) Successivo j Caso 5 Per j = da 3 a 6 Intervallo ("E" & j ) = Intervallo ("D" & j) Successivo j Caso 6 Per j = da 3 a 6 Intervallo ("F" & j) = Intervallo ("E" & j) Successivo j Caso 7 Per j = da 3 a 6 Intervallo (" G "& j) = Gamma (" F "& j) Successivo j Caso 8 Per j = 3 a 6 Gamma (" H "& j) = Gamma (" G "e j) Successivo j Caso 9 Per j = 3 A 6 Range ("I" & j) = Range ("H" & j) Successivo j Caso 10 Per j = 3 a 6 Intervallo ("J" & j) = Intervallo ("I" e j) Successivo j Caso 11 Per j = da 3 a 6 Intervallo ("K" & j) = Intervallo ("J" e j) Successivo j Caso 12 Per j = da 3 a 6 Intervallo ("L" & j) = Intervallo ("K" e j) Successivo j End Select End Sub 

Nota che

Grazie a WutUp WutUp per questo suggerimento sul forum]

Articolo Precedente Articolo Successivo

I Migliori Consigli