• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

optellen met VBA

  • Onderwerp starter Onderwerp starter ewh
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ewh

Gebruiker
Lid geworden
7 jul 2010
Berichten
288
we hebben een sheet die handmatig wordt ingevuld, naar aanleiding van een formulier
de "X" worden in de juiste kolom gezet nadat het aantal "x" de 9 bereikt dan zal er een button verschijnen ( niet in het voorbeeld ) en zal een vba code uitgevoerd moeten gaan worden
op blad twee staat dezelfde layout met eerder ingevulde "x"die zijn vertaald naar cijfer 1
het is de bedoeling dat de ingevulde sheet op blad 1 de waarde verhoogt met 1 op blad 2

wie kan helpen ?

een voorbeeld bestandje is bijgevoegd
 

Bijlagen

als je invoertabel en opteltabel deze namen geeft, dan kun je voor het optellen zo iets gebruiken.
Code:
Sub Optellen()
Dim rInvoer As Range, rOptellen As Range
Set rInvoer = [invoertabel]: Set rOptellen = [opteltabel]
For r = 1 To rInvoer.Rows.Count
     For k = 1 To rInvoer.Columns.Count
        If rInvoer(r, k) <> "" Then rOptellen(r, k) = rOptellen(r, k) + 1
     Next
Next
rInvoer.ClearContents
End Sub
 
of een iets snellere variant
Code:
Sub VenA()
  ar = Sheets("Blad1").Cells(9, 2).CurrentRegion
  ar1 = Sheets("Blad2").Cells(11, 2).CurrentRegion
  For j = 2 To UBound(ar)
    For jj = 2 To UBound(ar, 2)
      ar1(j, jj) = IIf(ar(j, jj) = "x", ar1(j, jj) + 1, ar1(j, jj))
      ar(j, jj) = ""
    Next jj
  Next j
  Sheets("Blad2").Cells(11, 2).CurrentRegion = ar1
  Sheets("Blad1").Cells(9, 2).CurrentRegion = ar
End Sub
 
Daar heb je niet zoveel code voor nodig;)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Target, Range("C10:G18")) Is Nothing Then
    Cells(Target.Row, 3).Resize(, 5).ClearContents
    Target = "x"
  End If
End Sub
 
mannen , bedankt voor de mooie oplossingen en snelle reactie

ben ik toch nog op tijs klaar

bedankt
 
Ad1957 nog een vraagje
eigenlijk vergeten te benoemen .
op blad 2 zal ook moeten verschijnen het getal dat aangeeft hoevaak er is bij geteld , zodat we kunnen uit rekenen
hoeveel personen hebben mee gedaan

wil jij nog eens kijken
 
Dat zijn er altijd 9.

Code:
If teller = 9 Then

Of bedoel je iets anders?
 
Laatst bewerkt:
ik bedoelde iets anders , namelijk hoeveel keer is blad twee gevuld.
maar inmiddels zelf een oplossing gevonden door het totale aantal te tellen van het optelvlak en dat delen door 9 = prima zo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan