Are you trying to come up with a boy’s name at random? There may be a number of reasons that you want to do this. you may be writing a book for example, and don’t want to keep thinking about the same names for all of your characters.
The good news is that there is a way to do this with VBA. We created the following macro that randomly chooses a boy’s name from a list of the 300 most common boy’s names in the United States.
You will need to copy the code below in the VBA Editor and click the “Run” button. We have some other primers on how to do that on this site.
Here is the macro.
Sub RandomName()
Dim namesList As Variant
Dim lastRow As Long
Dim randomIndex As Integer
' Define the list of names
namesList = Split("Liam Noah Oliver James Elijah William Henry Lucas Benjamin Theodore Mateo Levi Sebastian Daniel Jack Michael Alexander Owen Asher Samuel Ethan Leo Jackson Mason Ezra John Hudson Luca Aiden Joseph David Jacob Logan Luke Julian Gabriel Grayson Wyatt Matthew Maverick Dylan Isaac Elias Anthony Thomas Jayden Carter Santiago Ezekiel Charles Josiah Caleb Cooper Lincoln Miles Christopher Nathan Isaiah Kai Joshua Andrew Angel Adrian Cameron Nolan Waylon Jaxon Roman Eli Wesley Aaron Ian Christian Ryan Leonardo Brooks Axel Walker Jonathan Easton Everett Weston Bennett Robert Jameson Landon Silas Jose Beau Micah Colton Jordan Jeremiah Parker Greyson Rowan Adam Nicholas Theo Xavier Hunter Dominic Jace Gael River Thiago Kayden Damian August Carson Austin Myles Amir Declan Emmett Ryder Luka Connor Jaxson Milo Enzo Giovanni Vincent Diego Luis Archer Harrison Kingston Atlas Jasper Sawyer Legend Lorenzo Evan Jonah Chase Bryson Adriel Nathaniel Arthur Juan George Cole Zion Jason Ashton Carlos Calvin Brayden Elliot Rhett Emiliano Ace Jayce Graham Max Braxton Leon Ivan Hayden Jude Malachi Dean Tyler Jesus Zachary Kaiden Elliott Arlo Emmanuel Ayden Bentley Maxwell Amari Ryker Finn Antonio Charlie Maddox Justin Judah Kevin Dawson Matteo Miguel Zayden Camden Messiah Alan Alex Nicolas Felix Alejandro Jesse Beckett Matias Tucker Emilio Xander Knox Oscar Beckham Timothy Abraham Andres Gavin Brody Barrett Hayes Jett Brandon Joel Victor Peter Abel Edward Karter Patrick Richard Grant Avery King Caden Adonis Riley Tristan Kyrie Blake Eric Griffin Malakai Rafael Israel Tate Lukas Nico Marcus Stetson Javier Colt Omar Simon Kash Remington Jeremy Louis Mark Lennox Callum Kairo Nash Kyler Dallas Crew Preston Paxton Steven Zane Kaleb Lane Phoenix Paul Cash Kenneth Bryce Ronan Kaden Maximiliano Walter Maximus Emerson Hendrix Jax Atticus Zayn Tobias Cohen Aziel Kayson Rory Brady Finley Holden Jorge Malcolm Clayton Niko Francisco Josue Brian Bryan Cade Colin Andre Cayden Aidan Muhammad Derek Ali Elian Bodhi Cody Jensen Damien Martin", " ")
' Find the last row with data in column A
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
' Generate a random index within the range of the names list
randomIndex = Int((UBound(namesList) - LBound(namesList) + 1) * Rnd + LBound(namesList))
' Display the randomly selected name in column A
Cells(lastRow + 1, 1).Value = namesList(randomIndex)
End Sub