ChoiceKeys

The one place the export side and the import side build the name a custom dropdown is written under on a Choices sheet. CustomChoiceName builds the key from a dropdown name, IsCustomChoice says whether a key belongs to a custom dropdown, and ListNameFromChoice reads the dropdown name back out of a key. Both ends call these, so the two ends of a round trip agree.

THE NAME THE KEY IS BUILT FROM

The dropdown name held in the DropdownLists registry, exactly as the user typed it. Nothing is trimmed, nothing is cleaned and no counter is added. DropdownLists.AllDropdowns answers that list and DropdownLists.Update takes the same name, so a key built this way survives the trip in both directions.

Version: 1.0 (2026-08-01)

Factory

Create #

create

Create a key builder

Signature:

Public Function Create() As ChoiceKeys

The class holds no state. It is a class because both LLExporter and LLImporter need the same answer and a class is how this project shares behaviour.

Returns: ChoiceKeys. A ready instance.


Keys

CustomChoiceName #

custom-choice-name

The Choices sheet key of a custom dropdown

Signature:

Public Function CustomChoiceName(ByVal listName As String) As String

An empty dropdown name answers an empty key. LLChoices.Categories reads an empty criteria as "blank cells" rather than as "nothing", so handing it a bare prefix would answer rows that belong to no dropdown.

Parameters:

  • listName: String. The dropdown name held in the DropdownLists registry.

Returns: String. The key the choice is stored under, empty when the name is empty.


IsCustomChoice #

is-custom-choice

Whether a Choices sheet key names a custom dropdown

Signature:

Public Function IsCustomChoice(ByVal choiceName As String) As Boolean

Parameters:

  • choiceName: String. A key read off a Choices sheet.

Returns: Boolean. True when the key carries the custom dropdown prefix.


ListNameFromChoice #

list-name-from-choice

The dropdown name a Choices sheet key was built from

Signature:

Public Function ListNameFromChoice(ByVal choiceName As String) As String

The inverse of CustomChoiceName. A key that carries no custom prefix answers an empty string, so a reader walking a whole Choices sheet can tell the custom dropdowns apart from the choices the setup file authored.

Parameters:

  • choiceName: String. A key read off a Choices sheet.

Returns: String. The dropdown name, empty when the key is not a custom one.


Used in (6 file(s))