|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 462
|
macro....excel
buonasera a tutti......
vi devo chiedere un favorino...facile facile per voi esperti ma difficilissimo per me..... mi servirebbe una macro in excel che immettendo un valore in una cella mi incrementasse tale valore di un valore di un'altra cella..mi sono spiegato? macro...inserisco un valore cella 1 e immettendo un valore nella cella 2 mi incrementa la cella 1 del valore della cella 2 fino al valore della cella 3 grazie...... ciao ovviamente se mi inviate direttamente il foglio excel e' meglio.......... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 462
|
possibile che nessuno mi sa aiutare?
ciao |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jan 2005
Città: Torino
Messaggi: 81
|
Non hai bisogno di una macro per farlo:
Ammettendo che le tue celle siano: Cella 1 = A1 Cella 2 = B1 Cella 3 = C1 Se come valore della cella3 metti: "=A1+B1", automaticamente quando cambi i valori di cella 1 e cella 2 nella terza avrai sempre la somma delle altre 2. Se non è questo che vuoi ottenere oppure non ho capito... Ciao
__________________
DaryL74 |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 462
|
hai ragione......mi sono dimenticato di chiedere che volevo anche un bottone da cliccare al fine di attivare i calcoli.....
ciao |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jan 2005
Città: Torino
Messaggi: 81
|
OK, per prima cosa devi mostrare la barra degli strumenti che ti permette di aggiungere i pulsanti sul folgio di lavoro:
Visualizza / Barre degli strumenti / strumenti di controllo Seleziona da quella barra il "pulsante di comando" ed aggiungilo allo stage.Clicca sul pulsante appena creato sul foglio con il pulsante DESTRO del mouse e seleziona "visualizza codice" Nel codice di visual basic aggiungi: Codice:
Range("C1").Value = Range("A1").Value + Range("B1").Value Codice:
Private Sub CommandButton1_Click() Range("C1").Value = Range("A1").Value + Range("B1").Value End Sub Ciao
__________________
DaryL74 |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 462
|
grazie per l'aiuto.anche se cercavo qualcosa di piu' complicato....
ossia un loop che incrementasse da solo (una volta schiacciato il tasto) il valore esempio: immetto valore in a1 (valore da incrementare) immetto valore in b1 (incremento) e questo deve avvenire fino a quando il valore non raggionge il valore c1 comunque di nuovo grazie ciao |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jan 2005
Città: Torino
Messaggi: 81
|
Dunque consideriamo:
A1 = valore che deve subire l'incremento B1 = valore dell'incremento C1 = valore a cui deve tendere/arrivare il valore della cella A1 Esegui le stesse operazioni che ti ho descritto nel mio ultimo post salvo il fatto che il codice del pulsante diventa: Codice:
Private Sub CommandButton1_Click() Do Until Range("A1").Value >= Range("C1").Value Range("A1").Value = Range("A1").Value + Range("B1").Value Application.Wait (Now() + TimeValue("0:0:1")) Loop End Sub
__________________
DaryL74 |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jan 2005
Città: Torino
Messaggi: 81
|
Scusami, è meglio aggiungere una riga al codice (altrimenti se il numero da raggiungere è molto più grande del numero di partenza ti tocca aspettare circa (C1-A1)/B1 secondi prima di poter interrompere o fare qualsisasi cosa in Excel).
In questo modo se la barra degli strumenti di visual basic e visibile, cliccando sul pulsante con la squadretta puoi interrompere il codice in esecuzione (altrimenti prova con CTRL+Pausa/Interr). Dunque consideriamo: A1 = valore che deve subire l'incremento B1 = valore dell'incremento C1 = valore a cui deve tendere/arrivare il valore della cella A1 Esegui le stesse operazioni che ti ho descritto nel mio ultimo post salvo il fatto che il codice del pulsante diventa: Codice:
Private Sub CommandButton1_Click() Do Until Range("A1").Value >= Range("C1").Value Range("A1").Value = Range("A1").Value + Range("B1").Value DoEvents Application.Wait (Now() + TimeValue("0:0:1")) Loop End Sub
__________________
DaryL74 |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 462
|
grazie.era proprio quello che volevo
ciao. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:38.