|
Rank: AiutAmico
Iscritto dal : 6/28/2005 Posts: 58
|
Su un foglio di excel, è presente una tabella con all'interno dei numeri a 4 cifre. Devo poi, selezionare uno di questi numeri e collocarlo in una cella appartenente ad un altro foglio. Si potrebbe fare con copia e incolla ma volevo sapere se c'era un altro sistema magari più veloce ed elegante. Grazie ciao
|
|
|
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
i metodi possono essere parecchi. a parte il copia e incolla facendo lo scroll dei fogli come dici tu, potresti in alternativa se la cella di destinazione è fissa usare una formula che legge il valore dell'origine. es. il valore da copiare si trova sul foglio1 cella A1 e deve essere copiato sulla cella A1 del foglio2 scriverai nella cella A1 del foglio2 la seguente formula: =Foglio1!A1 ( attenzione che farà casotto se il valore da trasferire è legato al risultato di una formula), potresti far ricorso ad una macro che automatizza il copia e incolla. (bisognerebbe conoscere esattamente come è configurato il lavoro) Se si tratta solo di trasferire un valore rimango dell'idea che il copia e incolla è la soluzione migliore. saluti Andrea
|
|
Rank: AiutAmico
Iscritto dal : 6/28/2005 Posts: 58
|
Si, si tratta solo di trasferire numeri da una tabella app. ad un foglio ad una cella fissa di un altro foglio. I numeri non sono legati da formule. Cercavo un sistema che selezionata la cella del numero da trasferire, battendo invio si trasferisse automaticamente. Ad ogni modo ti ringrazio per l'aiuto. ciao
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
la soluzione si trova a tutto. Si può in questo caso utilizzare una macro che sfrutta l'evento doppio clik sulla cella ed attivare un codice che copia nella posizione che vuoi il valore.Dopo pranzo vedo di poterti mandare un esempio della macro. saluti Andrea
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
Ecco una possibile macro che sfrutta l'evento doppio click Ogni volta che si esegue il doppio click sulle celle da B1 a B1000 si attiva la macro di cui sotto. Rilascia un messaggio che chiede la conferma per la copia del record. Nel caso che venga confermato, copia il valore della cella (Target) nella stessa cella del foglio2 (es. se il valore da copiare si trova sul foglio1 cella B10, effettua la copia sul foglio2 cella B10. Non conoscendo la struttura del tuo foglio dovrai modificare i rieferimenti. saluti Andrea P.s. evidentemente la macro va inserita nell'oggetto foglio di pertinenza (click Dx sulla linguetta del nome foglio, scegli "visualizza codice" nella finestra che si apre copiare la macro qui sotto) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) On Error Resume Next Set zona1 = Range(Cells(1, 2), Cells(1000, 2)) If Not Intersect(Target, zona1) Is Nothing Then Dim riga, colonna riga = Target.Row colonna = Target.Column risposta = MsgBox("stai per copiare la cella- Vuoi contnuare?", vbYesNo) If risposta = vbNo Then GoTo fine Target.Copy Sheets("foglio2").Activate With ActiveSheet .Cells(riga, colonna).Select ActiveSheet.Paste End With Application.CutCopyMode = False Sheets("foglio1").Select End If Resume fine: Range("A1").Select End Sub Edited by - a10n11 on 11/11/2005 17:01:08
|
|
Rank: AiutAmico
Iscritto dal : 6/28/2005 Posts: 58
|
Ciao Andrea, innanzitutto ti ringrazio per la pazienza e la disponibilità. Ho voluto provare il codice che hai preparato prima di applicarlo alla mia struttura. Ho inserito sul foglio1 nelle celle da B1 a B1000 dei numeri; sul foglio2 cella l'inserimento in B10. Il tutto funziona alla perfezione. Tuttavia se seleziono un numero che sul foglio1 si trova per es. nella cella B20, cliccando due volte su di esso , me lo copia nella cella B20 del foglio2, e non nella cella B10 dove voglio che siano copiati i numeri. Forse sbaglio qualcosa o è giusto che sia così?
grazie ciao
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve. In effetti la macro funziona proprio così, copia in valore esattamente nello stesso indirizzo di cella ma sul foglio 2 ( se il valore si trova nella cella B100 del foglio1 lo ricopia nella cella B100 del foglio2) se invece come non avevo capito il valore in cui si effettua il doppio click in qualsiasi parte del range B1:B1000 deve essere scritto nella cella B10 del foglio2 dovrai modificare la macro come segue: With ActiveSheet .Cells(10, 2).Select ActiveSheet.Paste in questo modo la cella B10 riceverà sempre il valore della "doppiocliccata" (mi si passi il neologismo) di conseguenza queste righe del codice potranno essere cancellate: Dim riga, colonna riga = Target.Row colonna = Target.Column saluti Andrea Edited by - a10n11 on 11/14/2005 12:27:03
|
|
Rank: AiutAmico
Iscritto dal : 6/28/2005 Posts: 58
|
Ciao, ho richiamato il file excel per effettuare la modifica così come mi hai consigliato. Ma ancor prima di modificare, la vecchia istruzione non funziona più. Un msg mi avverte che la macro del progetto è disattivata. Cosa devo fare per riattivarla? Quando l'ho realizzata, per lanciare la macro ho solo premuto F5. Forse non ho seguito la giusta procedura? Ciao e grazie
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
probabilmente hai il livello di protezione delle macro settata su "elevata" mettila su media in modo che all'avvio di un file con macro ti chiede se attivarle o meno. La protezione su eleavta accetta solo macro con firma digitale. per settare il nuovo livello, apri un nuovo foglio di excel Menu Strumenti>Macro>protezione spunta il livello medio chiudi excel e le nuove impostazioni saranno salvate. Quando aprirari il file contenente la macro ti verrà visualizzato il messaggio per l'autorizzazione alla attivazione della macro. saluti Andrea
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
per ulteriore chiarimento. Per come è scritta la macro non occorre richiamare la finestra di gestione della macro (F5) per lanciarla. Questa si attiva in automatico al doppio click sulla cella del range B1:B1000 saluti Andrea
|
|
Rank: AiutAmico
Iscritto dal : 6/28/2005 Posts: 58
|
Ti ringrazio Andrea, tutto ok!
cari saluti ciao
|
|
Guest |