Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

somma consecutiva

Ultimo Aggiornamento: 09/07/2017 00:03
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

Re:
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

Re: Re:
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

Re:
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 [SM=g27811]

@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

Re: Re:
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

Re:
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

Re: Re:
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

Re: Re: Re:
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


Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 06:04. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com