Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Copia automatica tra 2 fogli con 1 solo click

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 23/04/17 12:47

Buongiorno a tutti. Ho questo problema da risolvere:
nel Foglio2 ho una serie di dati "confinati" in un'area B2:Z50. Ho necessità più volte al giorno di copiare questi dati dal Foglio2 al Foglio1. Nel Foglio1 i dati vengono copiati solo nel range C4:C50. Quello che vorrei fare è ad esempio cliccare sulla cella C10 del Foglio1 e in automatico passare al Foglio2 (dove ho tutto l'elenco), cliccare sulla cella che voglio copiare e effettuare la copia.

Credo sia necessaria una macro ma purtroppo non so dove sbattere la testa.
Grazie mille
Ciao
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Sponsor
 

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Anthony47 » 24/04/17 01:08

nel Foglio2 ho una serie di dati "confinati" in un'area B2:Z50. Ho necessità più volte al giorno di copiare questi dati dal Foglio2 al Foglio1. Nel Foglio1 i dati vengono copiati solo nel range C4:C50. Quello che vorrei fare è ad esempio cliccare sulla cella C10 del Foglio1 e in automatico passare al Foglio2 (dove ho tutto l'elenco), cliccare sulla cella che voglio copiare e effettuare la copia
Questa descrizione contiene informazioni generiche e divergenti per cui non so che macro suggerirti.
Mi sento invece di suggerirti questo approccio generico:
-selezioni la cella di destinazione su Foglio1; con una prima macro (*) vai su Foglio2; qui selezioni l'area da copiare e con una seconda macro (*) torni su foglio1 e incolli i dati.

Le due macro le ottieni registrandole in proprio sul tuo pc; per le istruzioni su come registrare una macro e i suggerimenti di base guarda qui:
viewtopic.php?f=26&t=103893&p=622593#p622593

Se durante la creazione assegni alle due macro dei tasti di scelta breve (es Contr-a e Contr-k) ti bastera' premere questi tasti per eseguire la relativa macro.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 24/04/17 06:53

Posso allegare un file cosi forse si riesce a capire cosa vorrei fare?

http://www.filedropper.com/schichbergabembeareinrichter

Grazie
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Anthony47 » 24/04/17 12:27

Il file e' certamente utile, ma purtroppo esso e' muto non non spiega che cosa vorresti farci: e' su questo aspetto che dovresti spiegare meglio visto che con la tua descrizione precedente non ho colto.
Sapendo che ho a disposizione lo stesso tuo file spero ti sia piu' facile descrivere quali sono le operazioni che vorresti in qualche modo automatizzare.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 24/04/17 13:05

Grazie Anthony. In effetti potevo spiegarlo meglio.
Ti faccio un esempio pratico di quello che vorrei fare.

Foglio "EI" clicco sulla cella C3 dove c'è scritto GD565
dopo aver cliccato sulla cella, la schermata deve passare direttamente sul foglio "Teil" dove ho l'elenco
scelgo la cella che voglio copiare ad esempio H10 dove c'è scritto SP889
ci clicco sopra
copio la scritta SP889
torno sul foglio "EI"
incollo la scritta SP889 nella cella C3 al posto della scritta GD565

Questa operazione ripetuta nella colonna C foglio "EI" fino a riga 50.

Spero di essere stato più chiaro.

Grazie per la pazienza
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Anthony47 » 24/04/17 18:49

Mannaggia...
Partendo dall'esempio che hai fatto, quale di questi tre esempi e' piu' vicino a quello che chiedi?
1)
a) Foglio "EI" clicco sulla cella C3 dove c'è scritto GD565
b) Si passa su foglio Teil e si aspetta che l'utente faccia una selezione
c) Il valore selezionato viene copiato in EI cella C3
d) Si aspetta che l'utente faccia una seconda scelta; il valore selezionato viene copiato in EI cella C4
e) Si aspetta che l'utente faccia una terza scelta; il valore selezionato viene copiato in EI cella C5
f) e cosi' via fintanto che si rimane sul foglio Teil o si arriva a copiare sulla cella C50

2)
a) Foglio "EI" clicco sulla cella C3 dove c'è scritto GD565
b) Si passa su foglio Teil e si aspetta che l'utente faccia una selezione
c) Il valore selezionato viene copiato in E1 cella C3 e gli altri valori sotto la cella selezionata vengono copiati in foglio EI nelle celle sottostanti C3 fino a riga 50

3)
a) Foglio "EI" clicco sulla cella C3 dove c'è scritto GD565
b) Si passa su foglio Teil e si aspetta che l'utente faccia una selezione
c) Il valore selezionato viene copiato in EI cella C3
d) Fine. Volendo si ripetono gli step a-b-c

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 24/04/17 19:54

Il 3 esempio è quello azzeccato.
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Anthony47 » 25/04/17 23:44

Allora:
1) scegli su foglio EI due celle adiacenti che useremo come appoggio; io ho usato Z1 / AA1
2) tasto dx sul tab col nome EI, scegli Visualizza codice e si aprira' l'editor delle macro; copia questo codice e incollalo sul frame vuoto di destra:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Range("Z1").Clear                   '<<< La stessa cella della macro StartProc
End Sub
(adatta la riga marcata <<< se Z1 /AA1 non sono le celle libere)

3) ripeti sul tab del foglio Teil e incolla il seguente codice:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lokRange As String
'
lokRange = "B3:K100"            '<<< Le celle selezionabili per copia su foglio EI
'
If Application.Intersect(Target, Range(lokRange)) Is Nothing Or Selection.Count <> 1 Then Exit Sub
If Sheets("EI").Range("Z1") <> "" Then
    Sheets("EI").Range(Sheets("EI").Range("Z1")).Value = Target.Value
End If
Sheets("EI").Select
End Sub
Personalizza la riga marcata <<< come da commento

4) rimanendo nell'editor delle macro, inserire un "Modulo":
-Menu /Inserisci /Modulo
-Copia il seguente codice e incollalo sul frame vuoto di destra del modulo appena creato:
Codice: Seleziona tutto
Sub StartProc()
Dim okRange As String, freeCell As String
'
okRange = "C3:C50"      '<<< Le celle in cui si puo' incollare quanto scelto il foglio Teil
freeCell = "Z1"         '<<< La prima cella usabile come appoggio
'
If Application.Intersect(Selection, Range(okRange)) Is Nothing Then
    Range(freeCell).Value = "": Beep
    Exit Sub
Else
    Range(freeCell).Value = Selection.Range("A1").Address
    Range(freeCell).Offset(0, 1).Value = Selection.Range("A1").Value
End If
Application.EnableEvents = False
    Sheets("Teil").Select
    Range("A1").Select
Application.EnableEvents = True
End Sub
Personalizza le righe marcate <<< come da commento

Questa e' la macro che avvia il processo. Per avviarla piu' facilmente le assegniamo una "scorciatoia" di tastiera:
-torna su Excel
-premi Alt-F8, scegli StartProc dall'elenco delle macro disponibili, premi Opzioni
-nella casella Tasto di scelta rapida inserisci il carattere "m"; premi Ok, chiudi la finestra con la X rossa

A questo punto vai su foglio EI
-seleziona una cella tra quelle indicate nella StartProc e premi i tasti Contr-m (tasto Contr, tasto m; rilascia Contr, rilascia m)
-la StartProc segna in Z1 la cella corrente, in AA1 il contenuto della cella corrente, e passa su Teil-A1
-se selezioni una cella del range indicato nella Worksheet_SelectionChange il suo contenuto sara' copiato (solo il valore) nella cella selezionata su EI e il foglio EI sara' riselezionato.
-tutte le volte che si attiva il foglio EI la predisposizione alla copiatura da Teil a EI viene resettata; per ripetere bisogna avviare la StartProc tramite Contr-m
-se ci si rende conto che e' stato copiato un valore errato, in AA1 e' stato salvato il valore originale della cella modificata per errore.

Ti suona bene?
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 26/04/17 11:46

Grazie mille Anthony è una figata. E' proprio quello che volevo.

Grazie ancora
Ciao e alla prossima
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 26/04/17 12:18

Ciao Anthony, ho una curiosità.
Credi che si possa usare lo stesso sistema anche con delle immagini?
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Anthony47 » 26/04/17 23:07

Aggiungi nello stesso Modulo in cui hai inserito la Sub StartProc questa seconda macro:
Codice: Seleziona tutto
Sub SecProc()
freeCell = "Z1"         '<<< La prima cella usabile come appoggio
If Sheets("EI").Range(freeCell).Value <> "" Then
    If TypeName(Selection) = "Picture" Then
        Beep
        Selection.Copy
        Application.EnableEvents = False
            Sheets("EI").Select
            Range(Range(freeCell)).Select
            ActiveSheet.Paste
            Sheets("EI").Range(freeCell).Clear
            ActiveWindow.RangeSelection.Select
        Application.EnableEvents = True
    End If
Else
    Sheets("EI").Select
End If
End Sub
Assegnale come "scorciatoia da tastiera" la combinazione Contr-p
A questo punto, dopo che hai avviato il processo da foglio EI tramite la Sub StartProc, se sul foglio Teil selezioni una "Immagine" e poi avvii la Sub SecProc tramite Contr-p allora l'immagine dovrebbe essere copiata in EI.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Zoro76 » 30/04/17 10:13

Ciao Anthony.

Finalmente sta mattina ho avuto tempo per provare la macro.
Anche seguendo i tuoi passi purtroppo non sono riuscito a copiare le immagini.
Ti allego il file così magari quando hai tempo riesci a darci un'occhiata.

Un'altra cosa: se volessi cambiare la destinazione della copia e quindi non più la colonna C ma celle sparse come ad esempio: celle unite B10:C11 - I4:J5 - AD16:AE17.... credi sarebbe complicato?. Bisognerebbe definite tutte le celle unite all'interno della macro?.

Grazie intanto

http://www.filedropper.com/schichbergab ... nrichter_1
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: Copia automatica tra 2 fogli con 1 solo click

Postdi Anthony47 » 02/05/17 01:53

Seguendo le mie istruzioni io ottengo su foglio SÜ EI la copia dell'immagine selezionata.

Tu che prove hai fatto e con quale esito?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Copia automatica tra 2 fogli con 1 solo click":


Chi c’è in linea

Visitano il forum: Nessuno e 37 ospiti