Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

button in excel op laten tellen

3,207 views
Skip to first unread message

Vincent Groenewold

unread,
Jul 16, 2002, 9:03:06 AM7/16/02
to
HELP!!!

Kan iemand mij uitleggen hoe ik een button in bijv. de C
kolom bij aanklikken op laat tellen in zeg maar de E kolom?

Het is de bedoeling om vanaf nul te starten en per klik
mopet hij er een bij optellen, dit om aantallen te
genereren.

Alvast bedankt

Ingrid

unread,
Jul 16, 2002, 9:13:22 AM7/16/02
to
Voer een knop in het document in vanaf de werkbalk Formulieren. Het
dialoogvenster 'Macro toewijzen aan object' wordt getoond. Klik hierin op de
knop 'Nieuw'. De Visual Basic-editor wordt geopend en hierin zal je het
volgende zien staan:

Sub Knop1_BijKlikken()

End Sub

Voeg nu tussen de lijnen Sub en End Sub volgende code toe:

Cells(1, 4) = Cells(1, 4) + 1

Als je nu in het document op de knop klikt, zal de waarde in D1 telkens met
1 verhoogd worden.

Ingrid

"Vincent Groenewold" <vin...@krosmo.com> schreef in bericht
news:190ca01c22cc9$20653ef0$9be62ecf@tkmsftngxa03...

Vincent Groenewold

unread,
Jul 16, 2002, 9:23:12 AM7/16/02
to
Ik heb dat geprobeerd, maar echter alle knioppen die ik
heb gemaakt tellen inderdaad op aleen tellen ze allemaal
op in d1, dit is niet de bedoeling.

Mijn knoppen lopen van C3 tot en met C33, en het noodzaak
dat de knop in C3 in bijv. D3 optelet, C4 in D4 etc.etc.

Alvast bedankt voor de genomen moeite


Vincent

Ingrid

unread,
Jul 16, 2002, 9:35:51 AM7/16/02
to
Met volgende VBA-code worden de waarden in kolom D met 1 verhoogt, telkens
je klikt in de overeenkomende cel in kolom C. Je hebt hier dus geen knoppen
voor nodig.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 And Target.Row >= 3 And Target.Row <= 33 Then _
Cells(Target.Row, 4) = Cells(Target.Row, 4) + 1
End Sub

Om de code in te voegen, klik je rechts op de tab (onderaan het scherm) en
kies je 'Programmacode weergeven'.

Ingrid

"Vincent Groenewold" <vin...@krosmo.com> schreef in bericht

news:1679201c22ccb$ef50fa40$9ee62ecf@tkmsftngxa05...

keepitcool

unread,
Jul 16, 2002, 12:58:55 PM7/16/02
to

Als aanvulling op Ingrid,

Een handigheidje om te zien of de target in een bepaalde range zit is om
de intersect functie te gebruiken.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Set rngIsect = Intersect(Target, [c3:c33])

If rngIsect Is Nothing Then
'geen intersect, we zijn niet in de "hot range"
Else
With Cells(Target.Row, Target.Column + 1)
.Value = .Value + 1
End With
End If

End Sub


HTH,
KeepItCool <email scrambled with ROT13>


Ingrid wrote in message:
news:#NeaO2MLCHA.2372@tkmsftngp11

Hendri Verveda

unread,
Jul 17, 2002, 1:57:35 AM7/17/02
to
Je zou ook een macro kunnen maken waarvoor je een knop op de toolbar
toewijst of een sneltoets, die telkens de waarde van de actieve cel
verhoogd. Misschien heb je daar wat aan?

Een macro maak je als volgt (er is een directere methode, maar deze is voor
beginners handiger):

- Kies Extra - Macro - Nieuw Macro Opnemen
- Geef de Macro een naam, bv "Optellen"
- Wijs eventueel een sneltoets toe bv CTLR-O
- Klik OK

De macro wordt nu opgenomen, maar we gaan hem zelf intypen, dus druk nu maar
direct op de stop knop.

- Kies nu Extra - Macro - Macro's
- Selecteer de gemaakte macro en kies 'Bewerken'
- Zorg dat daar de volgende tekst staat:

====
Sub Optellen()

If IsNumeric(ActiveCell.Value) Then
ActiveCell.Value = ActiveCell.Value + 1
End If

End Sub
====

Het drukken can CTRL-O zal nu als gevolg hebben dat de waarde van de actieve
cel wordt verhoogd, mits er een getal in staat.

Hendri

"Vincent Groenewold" <vin...@krosmo.com> schreef in bericht

news:1679201c22ccb$ef50fa40$9ee62ecf@tkmsftngxa05...

Hendri Verveda

unread,
Jul 17, 2002, 2:00:03 AM7/17/02
to
Als je er het onderstaande van maakt werkt hij ook nog op een selectie van
meerdere cellen

==
Sub Optellen()

For Each Cell In Selection
If IsNumeric(Cell.Value) Then
Cell.Value = Cell.Value + 1
End If
Next

End Sub
==


Hendri Verveda

unread,
Jul 17, 2002, 2:12:20 AM7/17/02
to
Zit nog een klein foutje in, ook lege cellen worden opgeteld.

Moet zijn:
==
Sub Optellen()

For Each cell In Selection
If IsNumeric(cell.Value) And cell.Value <> "" Then
cell.Value = cell.Value + 1
End If
Next

End Sub
==

"Hendri Verveda" <h.verveda@[remove_this]nido.nl> schreef in bericht
news:3d3507c0$0$235$4d4e...@read.news.nl.uu.net...

0 new messages