Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Benutzername per VBA in Zelle schreiben

Benutzername per VBA in Zelle schreiben
25.05.2016 08:57:51
Niebann
Hallo zusammen,
ich habe eine Frage zu VBA.
Und so gestaltet sich meine Heraussforderung.
ich habe eine Tabelle bei der ich bereits wenn in einer Zelle der Spalte B einen Eintrag mache, dann wird in derselbe Zeile in der Spalte C das aktuelle Datum gesetzt.
Dies mache ich wiefolgt:
Aufruf in Tabelle1

Private Sub Worksheet_Change(ByVal target As Range)
If Not Application.Intersect(target, Range("B2:B2000")) Is Nothing Then
Call berechne
End If
End Sub

Modul 1

Sub berechne()
Dim intRow As Integer
For intRow = 2 To 2000
If Cells(intRow, 2).Value  "" And Cells(intRow, 3).Value = "" Then
Cells(intRow, 3).Value = Date$
End If
Next intRow
End Sub

Jetzt möchte ich in der 4. Spalte (Spalte D) in der gleichen Zeile den Benutzer setzen, der den Eintrag verfasst hat.
Bisher habe ich mit dem Wert Environ("Username") arbeiten wollen.
Wie ich das jetzt einbinden kann schaffe ich mit meinen Kenntnissen leider nicht. Sämtliche Versuche gaben Kompilierungsfehler :-(
Vielen Dank für eure Unterstützung
Björn

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzername per VBA in Zelle schreiben
25.05.2016 09:06:26
Fennek
Hallo,
ungeprüft:

target.offset(0,2).value = Environ("Username")
mfg

AW: Benutzername per VBA in Zelle schreiben
25.05.2016 09:13:24
Werner
Hallo Björn
Sub berechne()
Dim intRow As Integer
For intRow = 2 To 2000
If Cells(intRow, 2).Value  "" And Cells(intRow, 3).Value = "" Then
Cells(intRow, 3).Value = Date$
Cells(intRow, 4) = Application.UserName
End If
Next intRow
Gruß Werner
End Sub

Anzeige
AW: Benutzername per VBA in Zelle schreiben
25.05.2016 09:51:18
Niebann
Hallo Werner,
vielen Dank für die schnelle und Zielgenaue Hilfe.
Viele Grüße
Björn

AW: Gerne und danke für die Rückmeldung. o.w.T.
25.05.2016 09:57:34
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Benutzername per VBA in Zelle eintragen


Schritt-für-Schritt-Anleitung

Um den Benutzernamen automatisch in eine Zelle einzutragen, wenn du einen Eintrag in einer bestimmten Spalte machst, folge diesen Schritten:

  1. Öffne die Excel-Datei und gehe zu dem Arbeitsblatt, in dem du die VBA-Anpassungen vornehmen möchtest.

  2. Öffne den VBA-Editor durch Drücken von ALT + F11.

  3. Füge den folgenden Code in das Arbeitsblatt (z.B. „Tabelle1“) ein, um die Änderungen in Spalte B zu überwachen:

    Private Sub Worksheet_Change(ByVal target As Range)
       If Not Application.Intersect(target, Range("B2:B2000")) Is Nothing Then
           Call berechne
       End If
    End Sub
  4. Erstelle ein neues Modul und füge den folgenden Code ein, um das Datum und den Benutzernamen in den entsprechenden Zellen zu speichern:

    Sub berechne()
       Dim intRow As Integer
       For intRow = 2 To 2000
           If Cells(intRow, 2).Value <> "" And Cells(intRow, 3).Value = "" Then
               Cells(intRow, 3).Value = Date
               Cells(intRow, 4).Value = Environ("Username") ' Benutzername in Spalte D eintragen
           End If
       Next intRow
    End Sub
  5. Schließe den VBA-Editor und teste die Funktion, indem du einen Wert in die Spalte B eingibst. Der aktuelle Benutzername sollte automatisch in die Spalte D eingetragen werden.


Häufige Fehler und Lösungen

  • Fehler: Kompilierungsfehler bei der Verwendung von Environ("Username")

    • Lösung: Stelle sicher, dass du den Code korrekt in das richtige Arbeitsblatt eingefügt hast. Achte darauf, dass keine Syntaxfehler vorhanden sind.
  • Fehler: Benutzername wird nicht in die Zelle geschrieben

    • Lösung: Überprüfe, ob die Spalte B den richtigen Bereich (B2:B2000) abdeckt und dass der Code in der richtigen Subroutine platziert ist.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch eine Formel verwenden, um den Benutzernamen anzuzeigen. Nutze dafür die folgende Excel-Formel:

=INFO("username")

Diese Formel gibt den Namen des aktuellen Benutzers zurück, jedoch wird sie nicht automatisch aktualisiert, wenn du neue Daten eingibst.


Praktische Beispiele

  • Beispiel 1: Du trägst in Zelle B2 „Test“ ein. Nach dem Speichern wird in Zelle C2 das aktuelle Datum und in Zelle D2 dein Benutzername gesetzt.

  • Beispiel 2: Wenn du in Zelle B3 „Projekt X“ eingibst, erscheint in C3 das heutige Datum und in D3 dein Benutzername.


Tipps für Profis

  • Benutzerdefinierte Meldungen: Du kannst den Code erweitern, um benutzerdefinierte Meldungen anzuzeigen, wenn der Benutzername erfolgreich eingetragen wurde. Verwende dazu MsgBox.

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um mögliche Laufzeitfehler abzufangen und zu behandeln.

  • Automatisierung: Kombiniere diese Methode mit anderen VBA-Skripten, um noch mehr Automatisierungen zu erreichen, wie z.B. das automatische Ausfüllen von Formeln oder das Erstellen von Berichten.


FAQ: Häufige Fragen

1. Frage
Wie kann ich den Benutzernamen automatisch in eine andere Zelle eintragen?
Antwort: Du kannst die Zeile Cells(intRow, 4).Value = Environ("Username") einfach anpassen, um den gewünschten Zielbereich zu ändern.

2. Frage
Funktioniert dieser Code in allen Excel-Versionen?
Antwort: Ja, der VBA-Code sollte in allen gängigen Excel-Versionen ab Excel 2007 funktionieren, solange VBA unterstützt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige