| | Post: 1 | Registrato il: 07/03/2019
| Città: PIACENZA | Età: 50 | Utente Junior | office 365 | | OFFLINE | |
|
08/03/2019 00:37 | |
buonasera a tutti.
io dovrei creare una macro che mi copia ed incolla il valore delle penultime 5 celle (in quanto è presente una formula) delle colonne C:D:E non vuote, sempre allo stesso posto.
Ogni giorno il file viene implementato di un dato nella colonna C,D,E
es.
col. A col. C col. D col. E
01/01/19 1 2 3
02/01/19 c1+1 D1+1 E1+1
03/01/19 c2+1 D2+1 E2+1
04/01/19 c3+1 D3+1 E3+1
05/01/19 c4+1 D4+1 E4+1
06/01/19 c5+1 D5+1 E5+1
dopo aver eseguito la macro il risultato dovrebbe essere questo:
col. A col. C col. D col. E
01/01/19 1 2 3
02/01/19 2 3 4
03/01/19 3 4 5
04/01/19 4 5 6
05/01/19 5 6 7
06/01/19 c5+1 D5+1 E5+1
ed il giorno dopo, dopo aver eseguito la macro avere questo risultato:
col. A col. C col. D col. E
01/01/19 1 2 3
02/01/19 2 3 4
03/01/19 3 4 5
04/01/19 4 5 6
05/01/19 5 6 7
05/01/19 6 7 8
06/01/19 c6+1 D6+1 E7+1
e così via..
spero di non aver fatto confusione.
vi ringrazio anticipatamente
|
|
| | Post: 3.290 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
08/03/2019 10:04 | |
Buona giornata, LuigiB. anche se non è una mia prerogativa, per il futuro, ti consglio di allegare sempre un File, senza Dati sensibili, con alcuni Record significativi già inseriti e chiarissi ciò che desideri ottenere. Questo eviterebbe a chi desidera aiutarti dover ricostruire una probabile struttura con il rischio di non centrare l'obiettivo. Ciò premesso; @luigib., scrive:
io dovrei creare una macro che mi copia ed incolla il valore delle penultime 5 celle (in quanto è presente una formula) delle colonne C:D:E non vuote, sempre allo stesso posto. Ogni giorno il file viene implementato di un dato nella colonna C,D,E
Solo una domande, prima di proportri una possibile soluzione: - la sequenza: 01/01/19 1 2 3 02/01/19 2 3 4 03/01/19 3 4 5 04/01/19 4 5 6 05/01/19 5 6 7 05/01/19 6 7 8 06/01/19 c6+1 D6+1 E7+1 non dovrebbe essere: 01/01/19 1 2 3 02/01/19 2 3 4 03/01/19 3 4 5 04/01/19 4 5 6 05/01/19 5 6 7 06/01/19 6 7 8 07/01/19 c6+1 D6+1 E6+1 o mi sbaglio? Grazie dell'attenzione che potrai dedicarmi. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 1 | Registrato il: 07/03/2019
| Città: PIACENZA | Età: 50 | Utente Junior | office 365 | | OFFLINE | |
|
08/03/2019 10:26 | |
confermo il tuo.
ho commesso un errore di trascrittura
chiedo scusa e grazie ancora
|
| | Post: 3.291 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
08/03/2019 10:35 | |
Buona giornata, LuigiB.
Grazie della tua attenzione.
Pensavo ad un Codice VBA di questo genere:
Option Explicit
Sub Test()
Application.ScreenUpdating = False
Dim NRc As Long, x As Long
NRc = Range("A" & Rows.Count).End(xlUp).Row
For x = NRc - 1 To NRc - 5 Step -1
Range(Cells(x, 1), Cells(x, 5)).Copy
Cells(x, 1).PasteSpecial Paste:=xlPasteValues
Next x
Application.CutCopyMode = False
Application.ScreenUpdating = True
Cells(NRc + 1, 1).Select
End Sub
Ovviamente il Codice funziona solo se i Record inseriti sono almeno 6.
A disposizione.
Buon Lavoro
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2 | Registrato il: 07/03/2019
| Città: PIACENZA | Età: 50 | Utente Junior | office 365 | | OFFLINE | |
|
08/03/2019 12:41 | |
Sei un MITO!!!! funziona perfettamente!!!!
|
| | Post: 3 | Registrato il: 07/03/2019
| Città: PIACENZA | Età: 50 | Utente Junior | office 365 | | OFFLINE | |
|
08/03/2019 14:39 | |
rimani sempre un mito!!! però mi sono accorto che alcune formule rimangono mi sembra ogni 5 copia incolla speciale ne rimangono 5 con le formule.
allego il file per semplicità
grazie ancora della pazienza!! |
| | Post: 3.294 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
08/03/2019 15:49 | |
Buon pomeriggio, LuigiB;
ti leggo solo ora.
Mi ero concentrato solo sui penultimi 5 Record.
Per allargare il Range d'azione, potresti provare con:
Option Explicit
Sub Test()
Application.ScreenUpdating = False
Dim NRc As Long
NRc = Range("A" & Rows.Count).End(xlUp).Row
Range(Cells(1, 1), Cells(NRc - 1, 5)).Copy
Cells(1, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
Cells(NRc + 1, 1).Select
End Sub
A disposizione.
Buon Lavoro.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 4 | Registrato il: 07/03/2019
| Città: PIACENZA | Età: 50 | Utente Junior | office 365 | | OFFLINE | |
|
08/03/2019 16:36 | |
lo sto testando, e secondo me funziona correttamente
grazie ancora! |
|
|