Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: cellen met vw opmaak tellen  (gelezen 10357 keer)

0 leden en 1 gast bekijken dit topic.

Offline edske

  • Lid
  • *
  • Berichten: 59
  • Oplossing.be
cellen met vw opmaak tellen
« Gepost op: 18 februari 2005, 22:08:18 »
hallo,
In mijn werkblad staan 20rekenoefeningen.
Als die juist opgelost worden wordt decel groen, anders rood
(voorwaardelijke opmaak)

Nu wil ik een totaal van de correcte oefeningen.
is het mogelijk de  groene cellen te tellen en het resultaat in een cel te laten verschijnen ?
profile : 855GM Intel Corporation, Intel(R) 82852/82855 Graphics ControllerIntel(R) 82852/82855 Graphics Controller, Windows XP, Prof, SP1, Intel(R) Pentium(R) M processor 1400MHz, 495 MB RAM, HDD:39 GB, FAT32, skynet, Norton AntiVirus, Internet Explorer 6.06.0, Outlook Express

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:cellen met vw opmaak tellen
« Reactie #1 Gepost op: 19 februari 2005, 17:41:07 »
edske,

Standaard Excel formules kunnen helaas niet bepalen welke conditie van conditional formatting van toepassing is voor een bepaalde cel. Maw: zonder VBA kan je de groene cellen niet tellen. Bovendien is dat in VBA ook niet zo simpel...

Indien je ook een kolom gebruikt met de juiste oplossingen (om je conditional formatting tegen te valideren), kan je wel tellen hoeveel cellen van een bepaalde range (bv. de antwoorden) gelijk zijn aan de overeenkomstige cel in de andere range (bv. de juiste oplossingen).

Hiervoor gebruik je best een array formule:
{=SUM(($B$1:$B$10=$D$1:$D$10)*1)}.
In dit voorbeeld zouden dan de antwoorden in kolom B staan en de oplossingen in kolom D. Een array formule krijg je door na het intikken van =SUM(($B$1:$B$10=$D$1:$D$10)*1) op CTRL+SHIFT+ENTER te drukken.

Voorbeeld in bijlage.

Bart
WinXP - Excel 2000/XP/2003

Offline StriKe

  • Ambassadeur
  • *****
  • Berichten: 4.647
  • Geslacht: Man
Re:cellen met vw opmaak tellen
« Reactie #2 Gepost op: 19 februari 2005, 20:11:24 »
Hallo,

Ik ben nu niet meteen dé expert in Excel maar volgens mij moet het toch wel mogelijk zijn om via een macro in VBA te bepalen of een cel groen is ingekleurd ja dan nee

Via de
interior.colorindex = <een waarde>

Dat interior object kun je dacht ik aan elke cel hangen, je zou dus makkelijk zoiets moeten kunnen maken ('k weet niet of het werkt, 't is snel snel uit het hoofd ...)

goed = 0;
fout = 0;
teller = 0;

for teller = 0 to 10
   if(cells(teller,1).interior.colorindex = 13) then
      goed = goed + 1
   else
      fout = fout + 1
    end if
next teller

In de veronderstelling dat 13 de waarde is die de groene kleur vertegenwoordigd ...

Groeten,
StriKe
0T5326 Dell Computer Corporation, GeForce FX Go5200, Windows XP, Prof, SP2, NL, Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz, 512 MB RAM, HDD:97 GB, NTFS, AVG Anti-Virus, Kerio Personal Firewall, Firefox 2.0, The Bat!

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #3 Gepost op: 19 februari 2005, 20:41:39 »
Hoi Bart, Strike,

Ik veronderstel dat Edske (Ed) dezelfde vraag in een nieuwsgroep gesteld heeft.

Daar heb ik hem geholpen met een formule die de cellen telde met dezelfde voorwaarde als de voorwaardelijke opmaak.

Ter verduidelijking hier de oplossing:

<Knip>

Hoi Ed,

De formule moet er dus zo uitzien:

=SOM((((B1:B12)-(D1:D12))=(A1:A12))*1)
Dit is een matrix-formule.  Invoeren, en afsluiten met de toetsencombinatie
Ctrl Shift enter

Met in cel A1:A12 de uitkomst (die je dus zelf moet invullen)
D1:D12 de getallen die afgetrokken moeten worden van B1:B12

Luc


Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline edske

  • Lid
  • *
  • Berichten: 59
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #4 Gepost op: 19 februari 2005, 22:23:16 »
hallo,
bedankt voor de hulp.
Ik heb ondertussen de formule van Luc  met succes kunnen gebruiken.
mvg,
Edske
profile : 855GM Intel Corporation, Intel(R) 82852/82855 Graphics ControllerIntel(R) 82852/82855 Graphics Controller, Windows XP, Prof, SP1, Intel(R) Pentium(R) M processor 1400MHz, 495 MB RAM, HDD:39 GB, FAT32, skynet, Norton AntiVirus, Internet Explorer 6.06.0, Outlook Express

Offline dwa

  • Volledig lid
  • **
  • Berichten: 193
  • HOOG EN DROOG
Re:cellen met vw opmaak tellen
« Reactie #5 Gepost op: 19 februari 2005, 22:45:22 »
Hoi Ed,

Citaat
=SOM((((B1:B12)-(D1:D12))=(A1:A12))*1)
Dit is een matrix-formule.  Invoeren, en afsluiten met de toetsencombinatie
Ctrl Shift enter

 :oHet kan misschien ook wat eenvoudiger, voor de minder gesofistikeerde exel- gebruiker, zoals ik ;)

Het probleem is te omzeilen door niet de groene vakjes te tellen, maar wel aan elk goed antwoord één punt toe te kennen, in een aparte kolom, en in mijn voorbeeld in witte tekstkleur, dus niet zichtbaar. Met een gewone SOM-functie verschijnt in een cel naar keuze het totaal.
In bijlage mijn eenvoudige prototype ;)

Als 't niet deugt, hoor ik het wel!

dwa
Win XPhome-128 + 256 Mb-1,7Ghz-20GB
Office2000-TFTscherm Proview 17"-CDR24x10x40 -Printer HP Deskjet 3820-Scanner HP Scanjet 3500C- Webcam Logitech QuickCam Messenger-
IE6 - OE6- Telenet... (de rest zal ik zelf moeten gaan opzoeken!)

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:cellen met vw opmaak tellen
« Reactie #6 Gepost op: 20 februari 2005, 10:17:36 »
StriKe,

Voor de volledigheid: met .interior.colorindex kan je de door conditional formatting toegekende kleur NIET achterhalen. Probeer het maar eens, het resultaat zal altijd -4142 zijn, voor alle verschillende kleuren toegekend door CF.

Bart
WinXP - Excel 2000/XP/2003

Offline edske

  • Lid
  • *
  • Berichten: 59
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #7 Gepost op: 20 februari 2005, 13:20:06 »
hallo,
Ik heb nu nog een probleemdie opduikt.
De getallen worden metdeformule aselect() aangemaakt.
De berekening staat op handmatig om te verhinderen dat de getallen veranderen als de lln de uitkomsten invullen.
Dit wil zeggen dat ook de ingevoerde formule niet wordt
berekend.
Ik heb het bestand in bijlage.
Beste groeten,
Edske
profile : 855GM Intel Corporation, Intel(R) 82852/82855 Graphics ControllerIntel(R) 82852/82855 Graphics Controller, Windows XP, Prof, SP1, Intel(R) Pentium(R) M processor 1400MHz, 495 MB RAM, HDD:39 GB, FAT32, skynet, Norton AntiVirus, Internet Explorer 6.06.0, Outlook Express

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #8 Gepost op: 20 februari 2005, 13:34:13 »
Hoi Edske,

Misschien heb je hier iets aan:
https://users.pandora.be/ingrid/excel/vbn.htm
Rekenen tot 100

Luc

Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline edske

  • Lid
  • *
  • Berichten: 59
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #9 Gepost op: 20 februari 2005, 13:53:17 »
Bedankt voor de tip Luc, maar die oefening kende ik al.

In mijn oefening komt het erop aan dat er geen brugoefeningen in voorkomen( dwz. de eenheden in de getallen zijn kleiner dan 6)
Dit is voor kinderen makkelijker en een eerste stap in aanleren van rekenoefeningen.

Met je matrixformule werkte dit perfect totdat ik de formule aselect gebruikte.  Door het handmatige berekenen werkt ook de formule niet meer mee.

groeten,
edske


profile : 855GM Intel Corporation, Intel(R) 82852/82855 Graphics ControllerIntel(R) 82852/82855 Graphics Controller, Windows XP, Prof, SP1, Intel(R) Pentium(R) M processor 1400MHz, 495 MB RAM, HDD:39 GB, FAT32, skynet, Norton AntiVirus, Internet Explorer 6.06.0, Outlook Express

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #10 Gepost op: 20 februari 2005, 14:12:29 »
Hoi Edske,

Vul uw cellen met VBA.

Deze code geeft een getal tussen 1 en 6:

Sub test()
    Dim i As Integer
    i = Int((6 * Rnd) + 1)
    MsgBox i
End Sub

Luc

Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline edske

  • Lid
  • *
  • Berichten: 59
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #11 Gepost op: 20 februari 2005, 14:19:43 »
Ja, maar hoe ziet de code eruit als ik bvb getallen wil genereren tussen 10 en 100 waarbij de eenheden kleiner moeten zijn dan 6 ?
(vb 55,84,91,33,12,....)
Die getallen komen in het bereik A1:A10
groeten,
ed
profile : 855GM Intel Corporation, Intel(R) 82852/82855 Graphics ControllerIntel(R) 82852/82855 Graphics Controller, Windows XP, Prof, SP1, Intel(R) Pentium(R) M processor 1400MHz, 495 MB RAM, HDD:39 GB, FAT32, skynet, Norton AntiVirus, Internet Explorer 6.06.0, Outlook Express

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #12 Gepost op: 20 februari 2005, 14:29:49 »
zo:

Sub test()
    Dim i As Integer
    Dim y As Integer
    Dim myNumber As Integer
    y = Int(10 * Rnd)
    i = Int(6 * Rnd)
    myNumber = CInt(y & i)
    MsgBox myNumber
End Sub

Luc

Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline edske

  • Lid
  • *
  • Berichten: 59
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #13 Gepost op: 20 februari 2005, 15:07:39 »
Ziet er goed uit.
Maar ben wel leek in vba: hoe krijg ik de getallen in het bereik A1:A15
Msgboxheb ik niet nodig.
Groeten,
edske
profile : 855GM Intel Corporation, Intel(R) 82852/82855 Graphics ControllerIntel(R) 82852/82855 Graphics Controller, Windows XP, Prof, SP1, Intel(R) Pentium(R) M processor 1400MHz, 495 MB RAM, HDD:39 GB, FAT32, skynet, Norton AntiVirus, Internet Explorer 6.06.0, Outlook Express

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:cellen met vw opmaak tellen
« Reactie #14 Gepost op: 20 februari 2005, 15:17:59 »
Sub test()
    Dim teller As Integer
    Dim i As Integer
    Dim y As Integer
    Dim myNumber As Integer
    For teller = 1 to 15
    y = Int(10 * Rnd)
    i = Int(6 * Rnd)
    myNumber = CInt(y & i)
    Cells(teller, 1).Value = myNumber
    Next
End Sub
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

 


www.combell.com