Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #2  
Old 01-26-2020, 10:44 AM
gmaxey gmaxey is offline Not changing a content control if re-entered and Userform pops up. Windows 10 Not changing a content control if re-entered and Userform pops up. Office 2016
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,617
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

ashbee,


Personally, I prefer list written out as a statement to be comma separated and the last item separated with " and ". I don't know why you used a function to return a string and then that string wasn't used.

Here is a revision to the code and the document is attached.

Code:
Public Sub SelectItems(oCC As ContentControl)
Dim oFrm As frmSelect
Dim arrText() As String, strText As String
Dim lngList As Long, lngItem As Long, lngSelected As Long
Dim arrList() As String
  Set oFrm = New frmSelect
  With oFrm
    .ListBox1.AddItem "Wheelchair Access"
    .ListBox1.AddItem "Note Taker"
    .ListBox1.AddItem "No"
    If Not oCC.ShowingPlaceholderText Then
      strText = Replace(oCC.Range.Text, ", ", "~")
      strText = Replace(strText, " and ", "~")
      arrList = Split(strText, "~")
      For lngItem = 0 To UBound(arrList)
        For lngList = lngItem To .ListBox1.ListCount - 1
          If .ListBox1.List(lngList) = Trim(arrList(lngItem)) Then
            .ListBox1.Selected(lngList) = True
          End If
        Next lngList
      Next lngItem
    End If
    .show
    If .Tag = 0 Then
      GoTo lbl_Exit
    Else
      ReDim arrText(0)
      For lngList = 0 To .ListBox1.ListCount - 1
        If .ListBox1.Selected(lngList) Then
          ReDim Preserve arrText(lngList)
          arrText(lngList) = .ListBox1.List(lngList)
          lngSelected = lngSelected + 1
        End If
      Next lngList
      Select Case UBound(arrText)
        Case 0
          strText = arrText(0)
        Case 1
          strText = arrText(0) & " and " & arrText(1)
        Case Else
          For lngList = 0 To UBound(arrText) - 1
            If lngList = 0 Then
              strText = arrText(lngList)
            Else
              strText = strText & ", " & arrText(lngList)
            End If
          Next lngList
          strText = strText & " and " & arrText(UBound(arrText))
      End Select
      oCC.Range.Text = strText
    End If
  End With
lbl_Exit:
  Unload oFrm
  Set oFrm = Nothing: Set oCC = Nothing
  Exit Sub
End Sub
Attached Files
File Type: docm multiselect userform.docm (87.1 KB, 11 views)
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote
 

Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Not changing a content control if re-entered and Userform pops up. Changing line background color depending on the content control value valaden Word VBA 1 11-21-2019 08:11 PM
Not changing a content control if re-entered and Userform pops up. Changing color of instructional text in a content control box Document Specialist Word 2 08-17-2018 05:25 AM
Not changing a content control if re-entered and Userform pops up. Show Userform when Content Control CheckBox ticked derajlance Word VBA 1 05-13-2016 01:55 PM
Have Text Entered in Content Control / PreDefined Field Populate Field in Footer bzowk Word 1 04-14-2016 11:50 AM
How-to: Add a quickpart, field or Building Block Gallery Content Control based on a UserForm HighSierra Word VBA 0 05-06-2015 08:20 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 01:14 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft