Condividi:        

Incrementa e decrementa

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

Incrementa e decrementa

Postdi Statix » 06/05/11 23:07

Ciao, ho questo problema,
dovrei incrementare o decrementare i valori in I17:I25
ogni volta che cambio il valore in C7 con i pulsantini,
i valori in I6:I14 possono essere positivi o negativi 1 o -1
questi si devono sommare con il valore di C7 in I17:I25
come da foto esempio

Immagine
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Incrementa e decrementa

Postdi ricky53 » 06/05/11 23:20

Ciao,
Domanda: i valori in "I6:i14 cambiamo al cambiare ci "C7"?
Io ho capito di NO.

Allora: azionando una delle due "freccine" in modo che in "C7" vi sia "4" che valori ti aspetti in "I17:I25" ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Incrementa e decrementa

Postdi Statix » 06/05/11 23:28

Ciao Ricky53,
allora cerco di spiegare meglio
ogni volta che cambio il valore in C7 con i pulsantini,
nelle celle I6:I14 i valori cambiano da 1 a -1 ,questi valori nascono da una condizione a parte,
nelle celle sottostanti I17:I25 si devono sommare il valore di C7 con quelli di I6:I14,
esempio pratico
C7 = 4 I6 =1 in I17 = 5 (4+1)
se aumento C7 =5 I6 = 1 in I17 =6 (5+1)
se aumento C7 = 6 I6 = -1 in I7 = 5(6-1)
questo anche con le restanti celle.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi ricky53 » 06/05/11 23:39

Ciao,
adesso mi è più chiaro.

Si può fare solo con una macro che al variare di "C7" attiva l'evento
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
   tue istruzioni che fanno quello che hai descritto
End Sub


Le istruzioni sommano in questo modo:
I17 = I17 + C7 +I6
I18 = I18 + C7 +I7
...
I24 = I24 + C7 +I13
I25 = I25 + C7 +I14

Occorre un ciclo for/next del tipo:
Codice: Seleziona tutto
For I= 17 to 25
   Cells(I, 9) = Cells(I, 9) + Cells(7 , 3) + Cells(I - 11, 9)
Next I
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Incrementa e decrementa

Postdi Statix » 06/05/11 23:47

scusami ricky53,ma non riesco,
non mi cambia niente
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 00:07

Ok visto che non va,
chiedo se possibile fare questa variazione,così si fa un unica macro
i dati I6:I14
adesso sono I6:S14
quelli di destinazione
I17:I25
adesso sono
I17:S25
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi ricky53 » 07/05/11 00:40

Ciao,
però potevi dire subito quale intervallo di celle volevi cambiasse.

Dire "non mi cambia niente" è la stessa cosa di dire "nulla".
Tu che macro stai utilizzando?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 11:23

Ciao ricky,
ho capito perche non funzionava,
il valore nella cella C7 se lo scrivo a mano funziona mentre se lo faccio dai pulsanti non va.
credo che ci sia anche un altro problema a parte la modifica dei range.
quanto incrementa deve incrementare di 1 o -1
esempio
se nella cella C7 scrivo 1
la macro fa 1+ il valore di I6 + il valore di I17,
quindi se ho 1+1+1 =3
poi quando scrivo nella cella C7 2
ho 1+2+3=6
mentre dovrei avere 1+1+3 =5
quando sommo la cella 7 deve essere sempre di 1 se vado avanti -1 se vado indietro,
forse ero io che mi ero spiegato male,e mi scuso di ciò,
riepilogando il tutto,visto che ho fatto alcune modifiche.

il valore nella cella C7 lo cambio con i pulsanti ,
i range dei dati da sommare sono adesso in AC9:AM17
quelli di destinazione sono in M9:W17
spero che sia più chiaro.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi ricky53 » 07/05/11 11:35

Ciao,
Si non è la stessa cosa di prima.
Rileggo con calma e, vista l'ora, ... si va a pranzo.

Per far fare le prove su un file effettivo, e non costruito da ogni utente, puoi inviare un file di esempio (attenzione ai dati riservati).
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 12:48

questo è il foglio con i riferimenti
per fare il test,
la cella C7 aumenta e diminuisce il valore tramite i pulsantini,
ad ogni aumento +1 ogni diminuzione -1 da sommare con AM9:AW17
risultati nel range M9:W17

http://www.megaupload.com/?d=9P0FC5V0
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi Anthony47 » 07/05/11 14:29

Se la cella C7 e' "collegata" alla casella di selezione (l' oggetto "coi pulsantini") allora non viene generato, al suo cambiamento, un evento Worksheet_Change.
Prova a usare una macro come questa, che poi "assegni" alla casella di selezione.
Codice: Seleziona tutto
Sub Deltad()
RInp = "AM9:AM17" '<<< Range di partenza, verticale
ColH = 11    '<<< N° di colonne dati
ROut = "M9"    '<<< Cella iniziale di output
CContr = "C7"  '<<< Cella collegata alla casella di selezione
'
DeltaV = Range(CContr).Value
For J = 1 To ColH
    For I = 1 To Range(RInp).Count
        Range(ROut).Offset(I - 1, J - 1).Value = Range(RInp).Range("A1").Offset(I - 1, J - 1).Value + DeltaV
    Next I
Next J
End Sub

Modifica le istruzione marcate <<< e poi assegna all' oggetto.

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

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 14:46

Ciao Anthony47,
c'è qualcosa che non va,
forse ho commesso uno sbaglio di valutazione
la macro non mi calcola bene i valori,
e da escludere dalla somma il valore di C7.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi Anthony47 » 07/05/11 14:53

La macro somma il valore di C7 a ognuna dei valori della tabell di destra e scrive il risultato nella tabella di sx; questo con riferimento al file che hai allegato.

Che intendi con "e da escludere dalla somma il valore di C7" ?

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

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 14:56

La cella C7 serve solo come riferimento alla macro
ogni volta che incrementa somma le celle AM9:AW17 in M9:W17
se decrementa C7 sottrae le celle AM9:AW17 in M9:W17
quindi C7 serve solo a far capire alla macro se deve sommare o sottrare
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi Anthony47 » 07/05/11 15:11

esempio pratico
C7 = 4 I6 =1 in I17 = 5 (4+1)
se aumento C7 =5 I6 = 1 in I17 =6 (5+1)
se aumento C7 = 6 I6 = -1 in I7 = 5(6-1)
Avevo lavorato su questa descrizione.

Stai invece chiedendo che quando cC7 cambia:
-se C7 e' stato aumentato, allora nella tabella di sx Somma i valori (+1/-1) presenti nella tabella di dx
-se C7 e' stato diminuito, allora nella tabella di sx Sottrae i valori (+1/-1) presenti nella tabella di dx

E' cosi'?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 15:14

Si hai capito perfettamente,
come detto prima ho fatto un errore di valutazione,
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi Anthony47 » 07/05/11 15:25

Codice: Seleziona tutto
Public OldC7
Sub Piumen()
'
RInp = "AM9:AW17" '<<< Range di partenza
'ColH = 11    '<<< N° di colonne dati
ROut = "M9"    '<<< Cella iniziale di output
CContr = "C7"  '<<< Cella collegata alla casella di selezione

'
If IsEmpty(OldC7) Or Range(CContr) = OldC7 Then Beep: GoTo ESci
If Range(CContr) > OldC7 Then
    Range(RInp).Copy
    Range(ROut).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
        :=False, Transpose:=False
Else
    Range(RInp).Copy
    Range(ROut).PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
End If
Application.CutCopyMode = False
Range(ROut).Select
ESci:
OldC7 = Range(CContr)
End Sub

Macro da associare alla casella di selezione; l' istruzione Public deve essere in cima al modulo

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

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 15:39

Provato,ma c'è qualcosa ancora che non va,
prima di tutto ho notato che bisogna resettare il range M9:W17 con tutti 0,
ho messo un tasto con macro che mi fa questo.
quindi prova a fare questa prova,resetta metti tutti 0
poi vai avanti di 1 con C7 dovresti avere gli stessi dati della tabella di destra
poi ritorni indietro e vedi se ti ridà di nuovo tutti gli 0,
un altra cosa che ho notato che se si tiene premuto i tastini C7 aumenta di molto ma
la macro mi conteggia un solo aumento,bisognerebbe fare in modo che conteggi progressivamente
anche se si tiene premuto i tastini.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Incrementa e decrementa

Postdi Anthony47 » 07/05/11 15:52

Mah...
forse devo tornare alla struttura della macro precedente; ma ci potro' pensare "piu' tardi".

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

Re: Incrementa e decrementa

Postdi Statix » 07/05/11 16:42

Ciao Anthony47,
ho riflettuto sulla macro,
secondo me basta creare un'altra tabella di appoggio del Range AM9:AW17 con i dati all'opposto.
poi con una condizione di una cella o un ceck , se vero
la macro somma il Range AM9:AW17 se falso somma la tabella di appoggio,
per quanto riguarda i pulsantini
mi creo un ciclo da ...... a .....
quindi basta una semplice macro .
devo andare ,eventualmente al ritorno studio un pò la tua macro e vedo se riesco a fare queste modifiche.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Incrementa e decrementa":


Chi c’è in linea

Visitano il forum: Nessuno e 61 ospiti