logo
search
VBA & Macro Problems

How to Convert Selected Lines to Custom Bullets using Word VBA Macro

Steven ParkerSteven Parker Oct 13, 2026 869 views

Question details

The user needs a Word VBA macro to apply a custom paragraph style and insert a specific bullet character before selected lines to bypass compatibility issues with an external platform.

How to Convert Selected Lines to Custom Bullets using Word VBA Macro
Product
Word
Device & OS
not provided
Scenario
Preparing text for a target content platform that does not parse or support standard Word bulleted lists.
Observed behavior
The user wants to automate inserting a hardcoded custom unicode symbol and applying specific formatting to selected text, rather than using the default Word bullet feature.
Before you start

Ensure you have the Developer tab enabled in Word to access the VBA editor, and verify the exact names of the custom style and font you intend to use in the script.

Solution 1Recommended

Create a VBA Macro to Insert Hardcoded Bullets

Use a custom VBA script to iterate over selected paragraphs, apply your desired paragraph style, and insert a unicode symbol at the beginning of each line.

This method is ideal when standard Word bullets do not export correctly to external platforms. The script iterates through the selected text, styling each paragraph and inserting a unicode character so the bullet acts as plain text.

Use the following VBA script: Sub CreateCustomBulletList() Dim paragraphItem As Paragraph Dim selectedRange As Range Set selectedRange = Selection.Range For Each paragraphItem In selectedRange.Paragraphs paragraphItem.Range.Select Selection.Style = ActiveDocument.Styles("dl_abb_body_listtext") Selection.Collapse wdCollapseStart Selection.InsertSymbol Font:="ABBvoice", CharacterNumber:=8226, Unicode:=True Selection.TypeText Text:=vbTab Next paragraphItem selectedRange.Select End Sub

1
Open the VBA Editor

Press ALT + F11 on your keyboard to launch the Microsoft Visual Basic for Applications window.

2
Insert a New Module

In the Project Explorer pane on the left, right-click your document name, select 'Insert', and choose 'Module' from the dropdown menu.

3
Paste the Macro Code

Copy the provided VBA script and paste it into the blank code window.

4
Customize Font and Style

Modify the script by changing "dl_abb_body_listtext" to your preferred Word style and "ABBvoice" to the specific font containing your desired bullet symbol. Update the CharacterNumber if needed.

5
Run the Macro

Close the VBA editor. Highlight the paragraphs you want to format in your document, press ALT + F8 to open the Macros dialog, select 'CreateCustomBulletList', and click 'Run'.

Create a VBA Macro to Insert Hardcoded Bullets
Customization Required: If your document uses different settings, you must replace the style name and font in the script, otherwise the macro will return an error when it cannot find the specified elements.
Free Microsoft Office alternative

Try WPS Office for Seamless Document Formatting

If you frequently struggle with complex VBA macros and formatting compatibility issues in Microsoft Word, consider switching to WPS Office. It provides a lightweight, highly compatible, and user-friendly alternative for managing your documents.

Fully compatible with Microsoft Word formats (.docx, .doc)Intuitive interface for easier text formatting and list managementFree, lightweight, and incredibly fast to installFamiliar layout requiring no steep learning curve
microsoft office alternative - wps office

Frequently Asked Questions

Why do standard Word bullets fail on some external content platforms?

Standard Word bullets use special internal list formatting and hidden characters that many basic text editors or web platforms cannot parse. Inserting a hardcoded unicode symbol ensures the bullet is treated as regular text during copy-pasting or exporting.

How do I find the correct character number for a specific symbol in VBA?

You can find the character number by navigating to Insert > Symbol in your document, selecting the desired character, and noting its Character Code and font details at the bottom of the dialog box.

Can I assign a keyboard shortcut to this VBA macro?

Yes. Go to File > Options > Customize Ribbon, click 'Customize' next to Keyboard shortcuts, select 'Macros' from the Categories list, choose your macro, and assign your preferred key combination.

What does the Selection.Collapse command do in this macro?

The Selection.Collapse wdCollapseStart command shrinks the current text selection to just its starting point. In this macro, it moves the cursor to the very beginning of the paragraph so the bullet symbol and tab are inserted directly before the text.