EXERCISE TOPIC▼
- Access exercises (91)
- C# exercises (79)
- Excel exercises (278)
- Power Apps exercises (13)
- Power Automate exercises (18)
- Power BI exercises (139)
- Power Platform exercises (157)
- Python exercises (28)
- Report Builder exercises (141)
- SQL exercises (198)
- SSAS exercises (51)
- SSIS exercises (46)
- SSRS exercises (99)
- VBA exercises (85)
- Visual Basic exercises (46)
VBA EXERCISES▼
EXCEL VBA MACROS EXERCISES▼
Excel VBA Macros | Looping over collections exercise | Poker game - generate hands of cards
This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.
Software ==> | Excel VBA Macros (52 exercises) |
Version ==> | Any version of Excel |
Topic ==> | Looping over collections (11 exercises) |
Level ==> | Harder than average |
Subject ==> | VBA training |
You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.
Las Vegas, 03:15 am. You are in the final 4 of the World Series poker tournament, with a cash prize of $1,000,000, when someone spills coffee on the cards.
Write a macro to generate four hands of random cards:

A typical deal - Chris Ferguson has two pairs, but maybe you can bluff with your single pair of 3s
There are many ways to solve this (that is part of the challenge), but here are some hints:
- The Symbols worksheet contains 4 ranges called Heart, Club, Diamond and Spade, which will give you the symbols you need
- The expression Int(Math.Rnd * 13) + 1 will generate a card number between 1 and 13 (and similarly you could generate the suit)
- For each new card that you generate, you need to check it is not already on the table
When you have finished, save this as Poker deal - and give yourself a huge pat on the back!