Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Excel registrazione macro

Ultimo Aggiornamento: 09/10/2019 15:08
Post: 392
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
19/09/2019 11:58

Ciao, chiedo sempre se possibile la spiegazione di questo funzionamento "Registrazione macro"
Nel foglio numeri, nelle celle D6:F6 ci sono dei numeri che variano di volta in volta. Vorrei riportare questi numeri nel foglio "Previsioni" con il metodo registrazione macro. quest'ultimi dovranno essere copiati nelle celle O7: Q7, poi O8:Q8 e così via. Io ho provato però vado sempre a scrivere sopra la scrittura precedente.
Chiedo a qualche esperto la spiegazione come fare.
Scusate ancora il disturbo, ma come sempre approfitto della vostra preparazione in materia.
grazie ancora
Post: 4.179
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
19/09/2019 12:06

la registrazione macro produce il codice relativo alle operazioni che fai manualmente, per avere qualcosa di più devi modificare il codice inserendo le istruzioni per individuare l'ultima riga piena o la prima vuota, ad es.
LastRow = Cells(Rows.Count, "A").End(xlUp).Row

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 392
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
19/09/2019 13:15

Ok grazie della risposta
ma dove va inserito questo codice ?
Post: 2.168
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
19/09/2019 16:12

ciao

la tua sub() col registratore e la correzione deve essere pressappoco in questo modo


Sub Macro1()
'
' Macro1 Macro
'

Sheets("Numeri").Select
Range("D6:F6").Select
Selection.Copy
Sheets("Previsioni").Select
Range("O" & Cells(Rows.Count, "O").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Sheets("Numeri").Select
Application.CutCopyMode = False
Range("G7").Select
End Sub


Ciao da locate
excel 2007 / 13
Post: 393
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
19/09/2019 16:45

Ciao locatevaresino, grazie della tua gentilezza ho provato funziona alla grande sul foglio di esempio.
Ultima cortesia, se puoi adattare il codice in questa maniera:
Il primo numero lo copio dal foglio"Ruota 1" e lo vado ad incollare nel foglio "Previsioni" P8.
Gli altri 3 numeri del foglio "Ruota 1" celle G26;H26;I26 devono essere incollati nelle celle del foglio "Previsioni" celle V8;W8;X8.

Spero di essere stato chiaro.
Grazie infinite delle sempre gentilezza e pazienza che dimostrate a noi principianti.
Post: 394
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
19/09/2019 19:15

Aggiungo che i numeri copiati vengono ricavati da formule.
Per evitare che mi riportano #rif!
Post: 1.287
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
19/09/2019 20:30

Re:

satos, 9/19/2019 7:15 PM:


Per evitare che mi riportano #rif!




mi scuso per l'OT,
ma sbaglio o è più corretto "riportino".?









Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 395
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
19/09/2019 23:03

ciao tanimon, ho inserito il file al primo messaggio, cambia solo le celle.
Post: 1.288
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
19/09/2019 23:12

Re:
satos, 9/19/2019 11:03 PM:

ciao tanimon, ho inserito il file al primo messaggio, cambia solo le celle.




altro OT:
[SM=x423059] [SM=x423059] [SM=x423059]








Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 396
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
20/09/2019 09:11

Ciao Tanimon, riporto allegato e quello che vorrei realizzare.
Nel foglio "Ruota 1" ed asattamente nella cella R12 c'è un numero che vorrei venisse riportato nella cella N5 del foglio "Previsioni"
sempre nel foglio "Ruota 1" nelle celle W12:X12, Z12:AA12, AC12:AD12 queste venissero riportate ed incollate nelle celle T5:Y5.
Tutto questo ogni volta che vado ad inserire una nuova previsione in modo da creare una tabella delle previsioni precedenti.
Sempre che sia possibile e nella vostra disponibilità
Grazie ancora
Post: 2.394
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
20/09/2019 10:10

Ciao
ho fatto appositamente la copia cella per cella in modo da farti copire meglio. Se vuoi potresti unificarle.

saluti

Sub Previsioni()
Set Prev = Worksheets("Previsioni")
Set Rt1 = Worksheets("Ruota 1")
ur = Prev.Range("N" & Rows.Count).End(xlUp).Row + 1
Prev.Range("N" & ur) = Rt1.Range("R12")
Prev.Range("T" & ur) = Rt1.Range("W12")
Prev.Range("U" & ur) = Rt1.Range("X12")
Prev.Range("V" & ur) = Rt1.Range("Z12")
Prev.Range("W" & ur) = Rt1.Range("AA12")
Prev.Range("X" & ur) = Rt1.Range("AC12")
Prev.Range("Y" & ur) = Rt1.Range("AD12")
Set Prev = Nothing
Set Rt1 = Nothing
End Sub




Domenico
Win 10 - Excel 2016
Post: 397
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
20/09/2019 11:33

ciao Dodo47, cosa dire ?
meravigliosamente Perfetto.
Grazie ancora

[SM=x423025] [SM=x423025] [SM=x423028] [SM=x423028] [SM=x423028]
Post: 400
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
29/09/2019 21:43

Ciao dodo47, nella macro che gentilmente mi hai fatto ho aggiunto altre celle però mi va a sovrascrivere i precedenti. Io ho aggiunto nel codice altre celle con esattezza 9, Ho sbagliato qualcosa ?
Grazie

Sub previsioni()
Set Prev = Worksheets("previsioni")
Set Rt1 = Worksheets("Ruota 1")
ur = Prev.Range("U" & Rows.Count).End(xlUp).Row + 1
Prev.Range("U" & ur) = Rt1.Range("E30")
Prev.Range("V" & ur) = Rt1.Range("F30")
Prev.Range("W" & ur) = Rt1.Range("G30")
Prev.Range("X" & ur) = Rt1.Range("H30")

Prev.Range("U" & ur) = Rt1.Range("J30")
Prev.Range("V" & ur) = Rt1.Range("K30")
Prev.Range("W" & ur) = Rt1.Range("L30")
Prev.Range("X" & ur) = Rt1.Range("M30")

Prev.Range("U" & ur) = Rt1.Range("O30")
Prev.Range("V" & ur) = Rt1.Range("P30")
Prev.Range("W" & ur) = Rt1.Range("Q30")
Prev.Range("X" & ur) = Rt1.Range("R30")

Prev.Range("U" & ur) = Rt1.Range("T30")
Prev.Range("V" & ur) = Rt1.Range("U30")
Prev.Range("W" & ur) = Rt1.Range("V30")
Prev.Range("X" & ur) = Rt1.Range("W30")

Prev.Range("U" & ur) = Rt1.Range("Y30")
Prev.Range("V" & ur) = Rt1.Range("Z30")
Prev.Range("W" & ur) = Rt1.Range("AA30")
Prev.Range("X" & ur) = Rt1.Range("AB30")

Prev.Range("U" & ur) = Rt1.Range("AD30")
Prev.Range("V" & ur) = Rt1.Range("AE30")
Prev.Range("W" & ur) = Rt1.Range("AF30")
Prev.Range("X" & ur) = Rt1.Range("AG30")

Prev.Range("U" & ur) = Rt1.Range("AI30")
Prev.Range("V" & ur) = Rt1.Range("AJ30")
Prev.Range("W" & ur) = Rt1.Range("AK30")
Prev.Range("X" & ur) = Rt1.Range("AL30")

Prev.Range("U" & ur) = Rt1.Range("AN30")
Prev.Range("V" & ur) = Rt1.Range("AO30")
Prev.Range("W" & ur) = Rt1.Range("AP30")
Prev.Range("X" & ur) = Rt1.Range("AQ30")

Prev.Range("U" & ur) = Rt1.Range("AS30")
Prev.Range("V" & ur) = Rt1.Range("AT30")
Prev.Range("W" & ur) = Rt1.Range("AU30")
Prev.Range("X" & ur) = Rt1.Range("AV30")

Prev.Range("U" & ur) = Rt1.Range("AX30")
Prev.Range("V" & ur) = Rt1.Range("AY30")
Prev.Range("W" & ur) = Rt1.Range("AZ30")
Prev.Range("X" & ur) = Rt1.Range("BA30")

Prev.Range("U" & ur) = Rt1.Range("BC30")
Prev.Range("V" & ur) = Rt1.Range("BD30")
Prev.Range("W" & ur) = Rt1.Range("BE30")
Prev.Range("X" & ur) = Rt1.Range("BF30")
Set Prev = Nothing
Set Rt1 = Nothing
End Sub
'Note su prev.range "solo lettera" si incolla nella colonna il nr della previsione mentre su Rt.Range "lettera pi? nr" si copia la previsione
' Ovviamente incolla nella colonna saltando eventuali scritte precedenti

[Modificato da satos 29/09/2019 21:45]
Post: 401
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
29/09/2019 22:05

Grazie ugualmente ci sono riuscitooooo
ho aggiunto: ur = Prev.Range("N" & Rows.Count).End(xlUp).Row + 1
Post: 402
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
03/10/2019 09:20

Ciao dodo47, ancora grazie per l'ultimo codice che mi hai preparato dal quale sto apprendendo qualcosa.
Io ho spostato varie celle "Dati" in alto foglio ho notato che nessun problema per quanto riguarda una scritta oppure un numero, ma se chiedo di spostare una data non lo fa, sbaglio qualcosa ?
Se metto colonna C anzichè A Funziona.
Sub Previsioni()
Set Prev = Worksheets("Previsioni")
Set Rt1 = Worksheets("Ruota 1")
ur = Prev.Range("N" & Rows.Count).End(xlUp).Row + 1
Prev.Range("N" & ur) = Rt1.Range("R12")
Prev.Range("T" & ur) = Rt1.Range("W12")
Prev.Range("U" & ur) = Rt1.Range("X12")
Prev.Range("V" & ur) = Rt1.Range("Z12")
Prev.Range("W" & ur) = Rt1.Range("AA12")
Prev.Range("X" & ur) = Rt1.Range("AC12")
Prev.Range("Y" & ur) = Rt1.Range("AD12")
ur = Prev.Range("A" & Rows.Count).End(xlUp).Row + 1
Prev.Range("A" & ur) = Rt1.Range("C10")
Set Prev = Nothing
Set Rt1 = Nothing
End Sub
[Modificato da satos 03/10/2019 09:28]
Post: 2.403
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/10/2019 10:11

ciao
ti capisci solo tu Satos....

quello che hai aggiunto:

ur = Prev.Range("A" & Rows.Count).End(xlUp).Row + 1 questa è inutile

questo:
Prev.Range("A" & ur) = Rt1.Range("C10")

copia la cella A10 del foglio ruota 1 in previsioni cella A...

Le uniche date in Ruota 1 sono nelle celle D4 e AM4

saluti



[Modificato da dodo47 03/10/2019 10:19]
Domenico
Win 10 - Excel 2016
Post: 403
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
03/10/2019 10:36

Infatti, adesso funziona alla grande.
Pazienza, dai.
Questi sono gli errori dei principianti
[SM=x423023] [SM=x423023] [SM=x423023] [SM=x423023] [SM=x423028] [SM=x423028] [SM=x423028] [SM=x423028] [SM=x423028]
Post: 5
Registrato il: 02/02/2009
Città: PESCARA
Età: 62
Utente Junior
2016
OFFLINE
03/10/2019 14:38

Complimenti
Se Mi posso Permettere un programma bellissimo e' fatto bene.
Complimenti
satos
nel tuo programma ho trovato degli errori che a lungo termine ti potrebbero creare dei problemi
nella pagina vertibili molti vrtibili sono sbagliati ,se poi e' stato voluto chiedo scusa.
io per i vertibili uso questa formula se ti puo' essere utile te la posto.
-------------------------------------------------------------------
=SE((W7)=0;"";SE(W7=9;90;(SE(((INT(W7/10)))=(W7-(INT(W7/10)*10));((INT(W7/10))*10)+9;SE((W7-(INT(W7/10)*10))=9;((INT(W7/10))*10)+(INT(W7/10));((W7-(INT(W7/10)*10))*10)+(INT(W7/10)))))))
----------------------------------------------------------------
dove w7 metti il tuo
A parte questo ti faccio i miei complimenti a te e tutti coloro che ti anno aiutato.
ciao Renzo
Post: 404
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
09/10/2019 15:03

Ciao rex61
grazie dei complimenti
che vanno sicuramente agli amici di questo forum che mi ha aiutato.
in particolar modo a dodo47.
Che ringrazio ancora una volta
Post: 405
Registrato il: 29/04/2002
Utente Senior
2007
OFFLINE
09/10/2019 15:08

Chiedo ancora a dodo47
nel caso i cui volessi copiare le previsioni, non nel foglio previsioni della stessa cartella, ma in un'altra cartella dove imposto un foglio chiamato convergenze.
Quindi il percorso della cartella sarà: C:\users\sss\Desktop\Convergenze.xlsm
Come va modificato il codice che tu gentilmente hai fatto ?

Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:53. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com