|
Microsoft Office Application Development
|
|
Een bereik laten selecteren door de gebruiker (VBA, Bug in Application.InputBox functie)Excel versiesDeze bug is van toepassing op alle Excel versies vanaf Excel 5/95. De bug is gerepareerd in Excel 2007. InleidingDit artikel beschrijft een bug die door Ron de Bruin is ontdekt en die hier ook wordt gemeld. De Application.InputBox functie is zeer handig om een bereik door de gebruiker te laten selecteren, waarmee vervolgens in de VBA code verder gewerkt kan worden. Helaas bevat deze functie een bug (all huidige Excel versies hebben deze bug). Wanneer er op het werkblad waarop een bereik wordt geselecteerd voorwaardelijke opmaak is ingesteld waarbij bovendien gebruik is gemaakt van de optie "formule is", dan kan de functie een lege string als resultaat teruggeven, ondanks dat een geldig bereik geselecteerd was en de gebruiker gewoon op OK heeft geklikt. De bug reproducerenGebruik deze voorbeeld code op een werkblad met cellen met voorwaardelijke opmaak, waarbij de "Formule Is" optie is gebruikt (zie de download hieronder voor een voorbeeld bestand): Sub ProblemCode() Wanneer deze code wordt uitgevoerd op een dergelijk werkblad, dan blijft het Range object "oRangeSelected" leeg. Een voorbeeld formule voor de voorwaardelijke opmaak zou kunnen zijn: =OF($A1=1; $A1=3) De enige betrouwbare manier om deze bug te omzeilen is door een userform te maken die aan de gebruiker het bereik vraagt, zoals in dit voorbeeld bestand. Geef dit artikel een cijfer:(292 keer beoordeeld. Gemiddelde beoordeling: 5.5)![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Commentaar van u en anderenHeeft u commentaar? Geef het hier!!! | ||||||||||||||
|
Use the contact page to issue
questions or comments about this website. |