Hoe in excel knop maken die een kolom bij een andere optelt

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • arene
  • Registratie: Maart 2001
  • Laatst online: 01-10 20:07
Mijn vraag
ik zoek een voorbeeld in excel van een knop die in 1 keer alle velden van bij b1:b12 optelt bij c1:c12 waarbij ikzelf b1:b12 invul. Het gaat om scores per persoon in verschillende rondes bij een spel.

ik zie het zo voor me:
in kolom a staan de namen van de deelnemers,
veld b2 vul ik in met bijv 2, b3 met 8 etc. (de scores in deze ronde)

Dan druk ik op een knop en worden voor alle personen tegelijk, per persoon het veld uit kolom b opgeteld bij de waarde die al in kolom c stond. (de totaalscore per persoon)
Vervolgens druk ik op andere knop. Kolom b wordt gewist. en daarna vul ik weer nieuwe waarden in voor de volgende ronde. En begint het weer opnieuw.


Relevante software en hardware die ik gebruik
Excel, nieuwste versie

Wat ik al gevonden of geprobeerd heb
Ik heb een knop met macrocode gevonden die het actieve veld met waarde x verhoogt, en 1 die de focus verandert. Maar ik ben niet zo'n held met vba en macro's merk ik.

Je zou me erg helpen.

[ Voor 6% gewijzigd door arene op 22-01-2021 18:31 ]

Beste antwoord (via arene op 22-01-2021 19:45)


  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
code:
1
2
3
4
5
6
7
8
9
Sub Optellen()
'B2:B12 optellen bij C2:C12
Dim x As Integer
With Sheets("Blad1")
For x = 2 To 12
.Range("C" & x).Value = .Range("C" & x).Value + .Range("B" & x).Value
Next x
End With
End Sub


code:
1
2
3
4
5
6
Sub Wissen()
'B2:B12 wissen
With Sheets("Blad1")
.Range("B2:B12").ClearContents
End With
End Sub

Alle reacties


Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
De optellingen komen bijvoorbeeld in kolom D.
Moet bij een nieuwe 'ronde' naast kolom B ook kolom D gewist worden? Dan ben je de eerste resultaten kwijt. Of wil je de optellingen van de tweede en volgende rondes in de kolommen E, F, enz. ?

Acties:
  • +1 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 17:51

g0tanks

Moderator CSA
dix-neuf schreef op vrijdag 22 januari 2021 @ 19:03:
De optellingen komen bijvoorbeeld in kolom D.
Moet bij een nieuwe 'ronde' naast kolom B ook kolom D gewist worden? Dan ben je de eerste resultaten kwijt. Of wil je de optellingen van de tweede en volgende rondes in de kolommen E, F, enz. ?
Zoals ik het lees zijn er alleen de kolommen B en C.

C bevat de optellingen waarbij telkens B wordt gewist. Dus: C_nieuw = C_oud + B

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
code:
1
2
3
4
5
6
7
8
9
Sub Optellen()
'B2:B12 optellen bij C2:C12
Dim x As Integer
With Sheets("Blad1")
For x = 2 To 12
.Range("C" & x).Value = .Range("C" & x).Value + .Range("B" & x).Value
Next x
End With
End Sub


code:
1
2
3
4
5
6
Sub Wissen()
'B2:B12 wissen
With Sheets("Blad1")
.Range("B2:B12").ClearContents
End With
End Sub

Acties:
  • 0 Henk 'm!

  • arene
  • Registratie: Maart 2001
  • Laatst online: 01-10 20:07
in eerste kolom de naam, in de 2e kolom B de score van deze ronde en in de derde kolom C het totaal tot nu toe.

de score van de 1e ronde komt in kolom B voor alle deelnemers. Dan een druk op de knop en de score staat in kolom C. En kolom B wordt gewist na druk op wis-knop.

De tweede ronde score komt weer in kolom B voor iedereen.
Druk op de knop en de score van de 2e ronde wordt opgeteld bij de eerste (waarde stond nog in C) en de tussenstand overschrijft deze in kolom C.

Kolom B weer wissen en dan de derde ronde etc.

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Bovenstaande macro's doen wat je wenst.

Acties:
  • 0 Henk 'm!

  • arene
  • Registratie: Maart 2001
  • Laatst online: 01-10 20:07
Het werkt precies zoals gewenst! Enorm bedankt.
Pagina: 1