Come detto quel 5,39 non so proprio cosa sia.....
=(A10+B10+C10+D10+E10+F10+G10)*24 (formato generale = 7,1 - Numero 7,10000) =SOMMA(A2+B2+C2+D2+E2+F2+G2) (Formato ora = 7.06) |
macro excel per copiare selezione in sequenza
Ho bisogno di creare un pulsante assegnandogli una macro che mi copi una selezione di dati, alcune (da stabilire) celle più in basso. Cosicché ogni qualvolta decida di utilizzarla, essa effettui la stessa operazione sempre più in basso rispetto all'ultima selezione copiata. Grazie mille. ciao.
|
mi sembra un po vaga come richiesta...
nn si sa quante nè quali celle nn si sa dove nn si capisce chi e quando lo stabilisce... insomma....spiega un po meglio e fai magari un esempio... |
non è così importante stabilire quali celle. Fai conto che debba copiare la cella A1 5 righe più sotto e, sempre la cella A1, 5 righe più sotto rispetto all'ultima cella copiata, e così via.
|
Una Macro è una specie di una registrazione video.
Se registro una scena per spostare la cella A1 in A6, questa ripeterà all'infinito solo e unicamente questo passaggio (A1 in A6). Ho descritto solo una cella, impossibile per un numero di celle da definire al momento. Quello che desideri si protrebbe fare... forse col Codice VBA. Anche qui, personalmente la vedo dura. Ammettiamo che il codice scritto sia di spostare giù (l'area selezionata) di 5 righe, appeno mi sposto per premere il bottone, l'area selezionata non sarà più quella scelta ma il bottone stesso. Pertanto scrivere il Codice e abilitarlo a un tasto particolare....forse mi sbaglio. |
Excel 2003 problema salvataggio automatico
Buonasera,
ho un problema con un file excel vers 2003. Avevo impostato il salvataggio automatico su una cartella di rete ma hanno cambiato il server e ora quando excel cerca di fare il back up mi appare il messaggio d'errore. Ma il vero problema è che quando sono rientrata in Strumenti -> Opzioni per modificare il percorso non sono più riuscita a fare nulla perchè qualsiasi finestra cliki mi si presenta il messaggio d'errore : Impossibile accedere alla directory \\"..indirizzo.." Quindi non riesco a cambiare l'indirizzo... Qualcuno è in grado di aiutarmi? Grazie e auguri!! |
Prova ad aprire un files excel nuovo e vedi se riesci a cambiare l'impostazione.
|
Quote:
Sub Test1() Range("A1").Copy ActiveSheet.Paste Destination:=Range("A65536").End(xlUp).Offset(5, 0) End Sub Ciao |
Quote:
però così ogni volta che incolli salti 5 righe... ;) ma quello che intendevo era che le info sono poco chiare per fare una cosa decente :) |
Quote:
un paio di precisazioni se posso :) la macro non fa altro che scriverti del codice vba, senza obbligarti a scriverlo a mano, ma nulla ti vieta di registrare un pezzettino di codice e poi integrarlo come meglio credi. nel caso da te proposto ti basterebbe registrare l'azione che vuoi compiere, e poi come suggerito da ses aggiungerci una riga che faccia l'offset fino alla cella di destinazione... e un'altra cosina, se hai impostata una selezione e clicchi col mouse sul pulsante per far partire la macro, non ti perde la selezione, infatti puoi tranquillamente usare il comando Selection.Copy e lui usa la selezione corrente ;) |
oppure devi resettare excel come se fosse appena stato installato :)
|
Quote:
|
Quote:
|
>>>la macro non fa altro che scriverti del codice vba
Mi piace excel perchè sono bravo in matematica e fare formule. Il VBA ci ho provato e riprovato, ma è l'unica cosa che non vuole entrare in testa. Ultimamente ho fatto qualche DB, anche qui solo in modalita query/tabelle/maschera. Visto che il VBA è diventato categorico i casi sono due: inserisco il VBA col martello in testa oppure ci rinuncio. Adesso voglio vedere cosa rispondete all'ultima domanda. Ciao |
Quote:
scherzi a parte comincia col registrare qualche bella macro e poi vatti ad analizzare il codice vba...nn è difficile fidati!! devi solo prenderci un po la mano :) ehm...quale sarebbe l'ultima domanda? |
>>>l'ultima domanda?
Era di wittelsbach "se quest'ultima è occupata da un qualsiasi codice " Sub Test1() ------------Capito Range("A1").Copy -------non capisco (forse copy significa selezione) ma "A1" significa parti da cella A1???? ActiveSheet.Paste Destination:=Range("A65536")----credo riferito al foglio .End(xlUp).Offset(5, 0)------spostati giù 5 righe colonne o Sai suggerirmi in link italiano terra terra per imparare? |
Quote:
Sub Test1() <--- beh qui definisci solo il tipo, sub, e il nome Test1 Range("A1").Copy <--- il range è l'intervallo di celle che devi prendere in considerazione per fare l'azione che poi definisci dopo il . in questo caso appunto gli stai dicendo di COPIARE tutto l'intervallo definito tra le virgolette, in questo caso A1 ActiveSheet.Paste Destination:= <---questo in pratica gli sta dicendo di COPIARE nella destinazione che gli vai a specificare dopo l'= Range("A65536") <--- qui gli dici di andare a posizionarsi sull'ultima riga della cella A (ultima riga di office < 2007 dato che nel 2007 sono + di 1 milione :)) .End(xlUp) <---qui c'è la famosa parte che nn è stata considerata...ma è la parte fondamentale, in pratica è come quando schiacci CTRL+le freccine di direzione, lui ti porta nell'ULTIMA cella occupata, in questo caso UP ovvero verso l'alto, per cui già questo ti dice che parte l'offset successivo SOLO dopo che ha verificato qual è l'ultima cella piena di un qualsiasi carattere :) .Offset(5, 0) <--- beh questo ok, si sposta di un tot di righe/colonne specificate (numerodirighe, numero di colonne) numeri sia positivi che negativi End Sub |
Quote:
http://excelvba.altervista.org/Corso/Indice.html |
Provato e funziona.........., quasi.
Come detto "A1" era riferito alla cella, rileggo il tutto tolgo "A1" e inserisco "Selection.Copy" Sub prova() Selection.Copy ActiveSheet.Paste Destination:=Range("A65536").End(xlUp).Offset(5, 0) End Sub Adesso seleziono solo C1 e lo scrive in A6 ??? Allora per dirgli di copiare la cella C1 (oppure la selezione) in C6 ??? Certo è facile dopo le spiegazioni Grazie e buona Pasqua Ps, Forse basterebbe fargli apparire un popup dove può inserire il valore "C" collegato a 65536 PPs. Forse l'errore e questo oppure se non funziona ancora. Penso sia dovuto al milione di righe di Excel 2007, ma non credo (al massimo lo farà solo nelle prime righe A65536 |
Quote:
ma poi gli dici di spostarsi in A65536 quindi sulla COLONNA A ;) quindi se vuoi copiare in C6 hai 2 strade, quella di settare manualmente il range di destinazione in C65536 oppure, meglio, lasciando la selezione in automatico in base alla cella di SELECTION. ovvero: Sub Test1() Selection.Copy ActiveSheet.Paste Destination:=Range("A65536").Offset(0, (ActiveCell.Column - 1)).End(xlUp).Offset(5, 0) End Sub dove con activecell.column gli fai calcolare in automatico il NUMERO della colonna dove ti trovi, a cui chiaramente devi sottrarre 1 perchè appunto già parti da 1, la colonna a :) |
Tutti gli orari sono GMT +1. Ora sono le: 10:25. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.