Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Laagste waarde in VBA werkt niet, of toch niet naar behoren.  (gelezen 706 keer)

0 leden en 1 gast bekijken dit topic.

Offline Pips

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Laagste waarde in VBA werkt niet, of toch niet naar behoren.
« Gepost op: 28 december 2023, 12:46:58 »
Hoi,

Ik heb een vraag over een VBA-code.
Probeer de laagste waarde in een bereik te vinden, bijvoorbeeld B18: B200

Sub LAAGSTE WAARDE()

    Set rng = Range("B18:B200")
    lowestValue = WorksheetFunction.Min(rng)
    Set lowestCell = rng.Find(lowestValue)
    lowestCell.Select

End sub

Tot nu toe doet het zijn werk, maar wanneer de waarden 10 of hoger bereiken, krijg ik steeds de 10 als laagste waarde, hoewel de getallen in dat bereik variëren tussen 0 en 1000

Dus ik dacht dat er naar een "10" wordt gekeken als naar een "1", maar waarom worden dan niet de "0"-waarden in hetzelfde bereik weergegeven?
Voor de rest doet de code het prima

Thx,
L

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Laagste waarde in VBA werkt niet, of toch niet naar behoren.
« Reactie #1 Gepost op: 28 december 2023, 13:00:14 »
Hallo Pips,

Met een voorbeeldbestandje erbij komen we zonder twijfel vlug een stuk verder...

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Pips

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Laagste waarde in VBA werkt niet, of toch niet naar behoren.
« Reactie #2 Gepost op: 28 december 2023, 13:05:55 »
Dag Molly,

Ik hoop dat je hier voldoende aan hebt, want buiten de code is dit het visueel resultaat.

Thx,
L

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Laagste waarde in VBA werkt niet, of toch niet naar behoren.
« Reactie #3 Gepost op: 28 december 2023, 13:40:17 »
Citaat
Ik hoop dat je hier voldoende aan hebt

Niet echt, want dit is de Excel-sectie van oplossing.be, en daar kunnen we niet bijzonder veel met een foto...
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Laagste waarde in VBA werkt niet, of toch niet naar behoren.
« Reactie #4 Gepost op: 28 december 2023, 17:43:45 »
Oeps, geen reactie meer?

Vooruit dan maar (alleen omdat het toch cadeautjestijd is).
Je krijgt er zelfs een woordje uitleg bij :D: met 'lowestValue = WorksheetFunction.Min(rng)' zoek je inderdaad de laagste waarde, en die is '0'.
Met 'Set lowestCell = rng.Find(lowestValue)' zoek je daarom de eerste '0', en die zit IN het getal 10.

Wat jij wil is de volledige celinhoud vergelijken, dat kan met
Set lowestCell = Rng.Find(lowestValue, lookat:=xlWhole)
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Pips

  • Nieuw lid
  • Berichten: 7
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Laagste waarde in VBA werkt niet, of toch niet naar behoren.
« Reactie #5 Gepost op: 28 december 2023, 18:07:30 »
Hey Molly,

Inderdaad, de foto was om aan te duiden wat het resultaat was als ik de macro uitvoerde. Ik had geen idee hoe ik het anders moest aantonen, want het is net gewoon een formule die je in een cel plaatst.

Het super rare is dat het soms werkt en soms weer niet, maar ik heb nu uw kerstgeschenk geimplementeerd en dat blijkt (beter) te werken.  \o/

    Set rng = Range("B18:B200")
    lowestValue = WorksheetFunction.Min(rng)
    Set lowestCell = rng.Find(lowestValue, lookat:=xlWhole)
    lowestCell.Select
   

Nog fijne feesten toegewenst  :P

Pips

 


www.combell.com