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?