Hello, I found some code on the internet and tinkered with it to list all the members of a group. However, I want to reverse the code so it shows all the groups a list of members are in.
E.g.
User1 , Group1
User1 , Group 2
User2 , Group 2
User3 , Group3
Etc
The code I use to get Memeber of Groups is appended below. Please could someone help me "reverse" the result.
Many thanks
Tom
Sub OutputGroupMembership()
Dim varGroups, varItem
Dim wksOut As Worksheet
Dim rngOut As Range
Dim varMembers
Dim lngIndex As Long
Dim strMemberlist As String
Worksheets("GROUPS").Activate
' this is the worksheet where the list will go
' adjust as required
Set wksOut = ActiveSheet
With wksOut
' first output cell
Set rngOut = .Range("A14")
End With
' this is the list of groups you want to get the members for
varGroups = Range("MAIN!A20:A39").Value
'Looping structure to look at array.
For i = 1 To UBound(varGroups)
Next
For Each varItem In varGroups
' output group name
With rngOut
.Value = varItem
End With
' move down a row
Set rngOut = rngOut.Offset(0)
' get member list
' returned as a comma separated list
strMemberlist = GetGroupUsers(varItem)
' split list into an array
varMembers = Split(strMemberlist, ",")
' loop and output member IDs
For lngIndex = LBound(varMembers) To UBound(varMembers)
rngOut.Value = varItem
rngOut.Offset(, 1).Value = varMembers(lngIndex)
Set rngOut = rngOut.Offset(1)
Next lngIndex
Next varItem
With wksOut
Rw = .Cells.Rows.Count
Range(Cells(Rw, "A").End(3)(2), Cells(Rw, "A")).EntireRow.Hidden = True
End With
End Sub
Function GetGroupUsers(ByVal strGroupName As String) As String
Dim objGroup, objDomain, objMember
Dim strMemberlist As String, strDomain As String
On Error Resume Next
Set objDomain = GetObject("LDAP://rootDse")
strDomain = objDomain.Get("dnsHostName")
Set objGroup = GetObject("WinNT://" & strDomain & "/" & strGroupName & ",group")
For Each objMember In objGroup.Members
strMemberlist = strMemberlist & "," & objMember.Name
Next objMember
' strip off the leading comma
GetGroupUsers = Mid$(strMemberlist, 2)
End Function
Bookmarks