Microsoft Excel

Herbers Excel/VBA-Archiv

Datenerfassung mit Username in Zelle | Herbers Excel-Forum


Betrifft: Datenerfassung mit Username in Zelle von: Werner
Geschrieben am: 15.02.2012 17:29:41

Hallo!

Viele User sollen in einer Datei Mängel festhalten.
In Spalte A wird dabei in der nächsten freien Zeile ein Wert eingegeben.
Ich möchte, dass nach der Eingabe von Daten in Spalte A der Username in Spalte L (gleiche Zeile) erscheint.
Wird der Wert in Spalte A wieder gelöscht soll auch der Username verschwinden.

Geht das?`

Gruß und Danke
Werner

  

Betrifft: AW: Datenerfassung mit Username in Zelle von: Hajo_Zi
Geschrieben am: 15.02.2012 17:43:15

Hallo Werner,

ja das geht per VBA.

GrußformelHomepage


  

Betrifft: AW: Datenerfassung mit Username in Zelle von: Werner
Geschrieben am: 15.02.2012 17:44:29

Und wie?

Gruß
Werner


  

Betrifft: AW: Datenerfassung mit Username in Zelle von: Hajo_Zi
Geschrieben am: 15.02.2012 17:50:26

Hallo Werner,

hätte man das nich gleich im ersten Beitrag Fragen können. Da war nur die Frage ob es geht.
Unter der Tabelle

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        If Target <> "" Then
            Cells(Target.Row, 12) = Environ("username")
        Else
            Cells(Target.Row, 12) = ""
        End If
    End If
End Sub

Gruß Hajo


  

Betrifft: AW: Datenerfassung mit Username in Zelle von: Peter
Geschrieben am: 15.02.2012 20:19:13

Hallo Hajo
Wie muss der Code angepasst werden, wenn Bereich A3:A37 selektiert ist, damit bei Einträgen innerhalb dieses Bereichs der Code auch funktioniert?
Gruss, Peter


  

Betrifft: dann frag auch noch die Zeilen ab ... von: Matthias L
Geschrieben am: 15.02.2012 23:44:53

Hallo Peter

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Target.Row > 2 And Target.Row < 38 Then
        If Target <> "" Then
            Cells(Target.Row, 12) = Environ("username")
        Else
            Cells(Target.Row, 12) = ""
        End If
    End If
End Sub
Gruß Matthias


  

Betrifft: AW: Datenerfassung mit Username in Zelle von: fcs
Geschrieben am: 15.02.2012 23:55:49

Hallo Peter,


im Prinzip funktioniert es so:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Zelle As Range
    If Target.Column = 1 And Target.Columns.Count = 1 Then
      For Each Zelle In Target
        If Zelle <> "" Then
            Cells(Zelle.Row, 12) = Environ("username")
        Else
            Cells(Zelle.Row, 12) = ""
        End If
      Next
    End If
End Sub

Falls du den Eingabebereich in Spalte A auf die Zeilen 3 bis 37 einschränken willst, dann muss die Prüfung für den Zellbereich von Target angepasst werden.
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Zelle As Range
    If Not Intersect(Target, Range("A3:A37")) Is Nothing Then
      For Each Zelle In Intersect(Target, Range("A3:A37"))
        If Zelle <> "" Then
            Cells(Zelle.Row, 12) = Environ("username")
        Else
            Cells(Zelle.Row, 12) = ""
        End If
      Next
    End If
End Sub

Gruß
Franz


  

Betrifft: AW: Datenerfassung mit Username in Zelle von: Peter
Geschrieben am: 16.02.2012 07:29:38

Hallo
Vielen Dank für die Antworten.
Die Codes von Franz funktionieren tiptop.

Gruss, Peter


Beiträge aus den Excel-Beispielen zum Thema "Datenerfassung mit Username in Zelle"