2017-01-26 13 views
2

ich den folgenden Code verwenden eine Liste der Benutzer zur Zeit aktiv in meiner freigegebenen Arbeitsmappe zu versuchen und einfügen:vba listet alle aktiven Benutzer in einer freigegebenen Arbeitsmappe auf?

Sub CurUserNames() 
    uSize = UBound(ThisWorkbook.UserStatus) 
    For i = 1 To uSize 
    Range("F2").Value = "Users currently online:" & Chr(10) & ThisWorkbook.UserStatus(i, 1) 
    Next 
    End Sub 

Ich möchte dies als eine Liste angezeigt wird, wie dies durch Kommas getrennt:

Users currently online: 
James Smith, Adam Black, Marie Rayner 

Bitte kann mir jemand zeigen wie ich das machen kann?

Edit:

Mit dem Code von @Jordan vorgeschlagen:

Sub CurUserNames() 

Dim str as String  

str = "Users currently online:" & Chr(10) 

For i = 1 To UBound(ThisWorkbook.UserStatus) 
    str = str & ThisWorkbook.UserStatus(i, 1) & ", " 
Next 

Range("F2").Value = Mid(str, 1, Len(str) - 2) 

End Sub 

Ich rufe diesen Code in einer Arbeitsmappe Öffnen/Schließen-Ereignis wie folgt:

Private Sub Workbook_Open() 
Call CurUserNames 
ThisWorkbook.Save 
End Sub 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
Call CurUserNames 
ThisWorkbook.Save 
End Sub 

Durch die Einsparung Arbeitsmappe jedes Mal hoffte ich, dass andere Benutzer in der freigegebenen Arbeitsmappe auch die Zelle F2 in Echtzeit mit aktiven Benutzern aktualisieren sehen würde.

Dies scheint nicht zu funktionieren. Es erfordert, dass jeder Benutzer seine Sitzung der Arbeitsmappe speichert, bevor die Benutzer in der Zelle aktualisiert werden. Kann mir bitte jemand einen Weg zeigen, wie das funktioniert?

Antwort

1

Probieren Sie die Zeichenfolge zuerst bauen, dann wird der Wert der Zelle nach der Schleife Einstellung:

Sub CurUserNames() 

Dim str as String  

str = "Users currently online:" & Chr(10) 

For i = 1 To UBound(ThisWorkbook.UserStatus) 
    str = str & ThisWorkbook.UserStatus(i, 1) & ", " 
Next 

Range("F2").Value = Mid(str, 1, Len(str) - 2) 

End Sub 
+0

Dank aber listet jeden Benutzer untereinander mit einem Zeilenumbruch wie unten – user7415328

+0

Benutzer aktuell online: – user7415328

+0

jackie smithers – user7415328

Verwandte Themen