I've had to do something similar before and I have a function example that might help. You can use this a kind of template to build your own solution, but basically I used an array to split the list of values passed in through one argument and then created a loop to go through all the values. It's not a very difficult solution when you look at what is going on in the code
    Function MultiList (obj, list_vals)
    If obj = '''' or list_vals = '''' Then 'Check if values are blank
    	MultiList = False
    	Exit Function
    End If
    'Create an array to hold the list values that are comma delimited
    list_array = Split (list_vals, '','')
    'Create the scripting shell object to use the keyboard for input to select items and hit enter, which needs to be done after each list item select
    Set Wsh = CreateObject(''Wscript.Shell'')
    'Create a loop based on the number of list items passed in
    list_limit = Ubound(list_array)
    Browser(''Browser'').Page(''PageName'').WebElement(''WhateverList'').Click 'Put list object in focus to activate it
    For i = 0 to list_limit
    	'The selection may be different depending on the behavior and you might need to adjust this.
    	'In my example, I use SendKeys operation, but this also would apply to Select on regular list objects or even Type
    	Wsh.SendKeys list_array(i)
    	Wsh.SendKeys ''{Enter}'' 'This could also use a Tab if needed depending on the object's behavior
    Next
    Set Wsh = Nothing
    End Function