| | Post: 15 | Registrato il: 21/02/2017
| Città: MILANO | Età: 64 | Utente Junior | 2007 | | OFFLINE | |
|
30/06/2017 00:12 | |
buona sera,
vorrei che in A2 mi venisse la somma di quello che digito in A1
esempio se digito adesso in A1 10 in A2 avro 10
poi se cancello A1 e ci mettero 3 vorrei che in A2 comparisse 13
si puo fare ? io non ci sono riuscito :-))
cordiali saluti
mario |
|
| | Post: 537 | Registrato il: 02/08/2015
| Utente Senior | Excel 2013 | | OFFLINE |
|
30/06/2017 00:41 | |
Ciao,
con le formule non è possibile, si deve ricorrere al VBA.
Nel modulo di classe del foglio interessato:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
End If
End Sub
ti allego un esempio...
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare." |
| | Post: 1.440 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
30/06/2017 10:35 | |
Ciao Tore
...magari disabilitiamo gli eventi...eh..eh...
cari saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 15 | Registrato il: 21/02/2017
| Città: MILANO | Età: 64 | Utente Junior | 2007 | | OFFLINE | |
|
30/06/2017 13:30 | |
cromagno, 30/06/2017 00.41:
Ciao,
con le formule non è possibile, si deve ricorrere al VBA.
Nel modulo di classe del foglio interessato:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
End If
End Sub
ti allego un esempio...
grazie e proprio quello che cercavo devo solo capire come si usa VBA mai usato e non so neanche dove cercarlo
se voglio fare altre somme consecutive (una per riga) devo modificcare il tuo esempio giusto [B2] = [B2] + [B2]
cosi puo andar bene ??
buona giornata
mario
|
| | Post: 16 | Registrato il: 21/02/2017
| Città: MILANO | Età: 64 | Utente Junior | 2007 | | OFFLINE | |
|
30/06/2017 14:02 | |
mario.nicodano, 30/06/2017 13.30:
grazie e proprio quello che cercavo devo solo capire come si usa VBA mai usato e non so neanche dove cercarlo
se voglio fare altre somme consecutive (una per riga) devo modificcare il tuo esempio giusto [B2] = [B2] + [B2]
cosi puo andar bene ??
buona giornata
mario
rieccomi ho fatto queste modifiche
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target, Range("B2")) Is Nothing Then
[C2] = [C2] + [B2]
End If
End If
End Sub
e fin qui va bene nella colonna a ci mettero la descrizione
non capisco come fare per aggiugere la formula a un altra riga
mario
|
| | Post: 540 | Registrato il: 02/08/2015
| Utente Senior | Excel 2013 | | OFFLINE |
|
30/06/2017 15:23 | |
dodo47, 30/06/2017 10.35:
Ciao Tore
...magari disabilitiamo gli eventi...eh..eh...
cari saluti
Ciao Domenico,
ho buttato giù le righe di fretta ma essendo intercettata una solo cella non dovrebbero esserci problemi di "loop infiniti", almeno credo...
Comunuque la tua osservazione (come sempre d'altronde) resta valida, sempre meglio non lesinare sulla stabilità del codice
@mario.nicodano
la forma che ho usato per indicare la cella A1 non è certo la migliore ( [A1]) ma di sicuro è la più sbrigativa... ti conviene usare
cells(1,1).Value opppure Range("A1").Value
Per la tua ultima domanda, a scanso di equivoci, allega un file d'esempio con la tua situazione iniziale e il risultato che vuoi ottenere (scritto manualmente).
P.S.
Per allegare file con macro (come in questo caso)... devi allegare il file compresso (es. con WinRar).
Ciao
Tore
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare." |
| | Post: 17 | Registrato il: 21/02/2017
| Città: MILANO | Età: 64 | Utente Junior | 2007 | | OFFLINE | |
|
30/06/2017 16:03 | |
cromagno, 30/06/2017 15.23:
@mario.nicodano
la forma che ho usato per indicare la cella A1 non è certo la migliore ([A1]) ma di sicuro è la più sbrigativa... ti conviene usare
cells(1,1).Value opppure Range("A1").Value
Per la tua ultima domanda, a scanso di equivoci, allega un file d'esempio con la tua situazione iniziale e il risultato che vuoi ottenere (scritto manualmente).
P.S.
Per allegare file con macro (come in questo caso)... devi allegare il file compresso (es. con WinRar).
Ciao
Tore
vi allego file di quello che mi servirebbe la 2 e 3 riga non sono riuscito a creare le formule per la prima ho modificato il tuo codice
di righe me ne servirebbero una 20
ciao mario
|
| | Post: 541 | Registrato il: 02/08/2015
| Utente Senior | Excel 2013 | | OFFLINE |
|
30/06/2017 20:47 | |
Ciao,
modifica il codice in questo modo:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target, Range("B2:B4")) Is Nothing Then
Application.EnableEvents = False
Range("C" & Target.Row).Value = Range("C" & Target.Row).Value + Target.Value
Application.EnableEvents = True
End If
End If
End Sub
Ciao
Tore
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare." |
| | Post: 18 | Registrato il: 21/02/2017
| Città: MILANO | Età: 64 | Utente Junior | 2007 | | OFFLINE | |
|
08/07/2017 23:22 | |
cromagno, 30/06/2017 20.47:
Ciao,
modifica il codice in questo modo:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target, Range("B2:B4")) Is Nothing Then
Application.EnableEvents = False
Range("C" & Target.Row).Value = Range("C" & Target.Row).Value + Target.Value
Application.EnableEvents = True
End If
End If
End Sub
Ciao
Tore
ciao grazie perfetto
se volessi aumentare il numero delle rige cosa devo cambiare ?
mario
|
| | Post: 545 | Registrato il: 02/08/2015
| Utente Senior | Excel 2013 | | OFFLINE |
|
08/07/2017 23:27 | |
mario.nicodano, 08/07/2017 23.22:
ciao grazie perfetto
se volessi aumentare il numero delle rige cosa devo cambiare ?
mario
Ciao,
a parte il fatto che dopo 8 giorni per avere un riscontro, il mio interesse nei confronti della discussione cala drasticamente...
Per altre domande che esulano dal problema originario, apri una nuova discussione seguendo la solita prassi (spiegazione, file allegato, dati iniziali, etc...).
Ciao
Tore
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare." |
| | Post: 19 | Registrato il: 21/02/2017
| Città: MILANO | Età: 64 | Utente Junior | 2007 | | OFFLINE | |
|
09/07/2017 00:03 | |
cromagno, 08/07/2017 23.27:
Ciao,
a parte il fatto che dopo 8 giorni per avere un riscontro, il mio interesse nei confronti della discussione cala drasticamente...
Per altre domande che esulano dal problema originario, apri una nuova discussione seguendo la solita prassi (spiegazione, file allegato, dati iniziali, etc...).
Ciao
Tore
scusami hai ragione ma sono stato impegnato
domani faro come dici
pensavo che fosse meglio proseguire qua...
scusami ancora
buona notte
mario
|
|
|