Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code - giebt name nicht wieder

VBA Code - giebt name nicht wieder
01.02.2018 10:12:47
simon
hi zusammen
hab das Problem, dass ab dem zweiten Eintrag der Username nicht mehr wider gegeben wird.
1. Wenn das Datum erfasst wird kommt automatisch die Nr. "1"
2. Wenn die "1" erkannt wird kommt unter "erstellt von" der UserName
Leider funktioniert dies nur in der ersten Zeile richtig aber der zweiten Zeile kommt nur noch die Nummer...
Private Sub Worksheet_Change(ByVal Target As Range)
'Code der die Nummerierung wiedergibt
If Target.Column = 3 And Target.Row >= 12 Then _
Range("B12:B" & Target.Row).FormulaR1C1 = "=IF(RC[1]"""",COUNTA(R12C3:RC3),"""")"
'Code der den Username wiedergibt
If Target.Count > 1 Then Exit Sub
If Target.Column = 2 And Target.Row > 10 Then
Application.EnableEvents = False
Cells(Target.Row, 8).Value = Application.username
Application.EnableEvents = True
End If
End Sub
mfg simon

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code - giebt name nicht wieder
01.02.2018 10:21:42
Bernd
Servus Simon,
lade bitte mal eine Beispielmappe mit dem Aufbau deiner Tabelle hoch.
Zusätzlich wäre es sehr hilfreich alle deine Anforderungen einmal zusammenzuschreiben.
Deinen Code hier im Forum scheibchenweise zusammenfrickeln zu lassen ist nicht nur für dich sehr zeitaufwendig.
Grüße, Bernd
AW: VBA Code - giebt name nicht wieder
01.02.2018 10:36:45
simon
Hi Bernd
Hier die Tabelle
https://www.herber.de/bbs/user/119455.xlsm
Das Problem ist in der Mappe "Pendenzen"
Wenn ich das Datum eintrage erscheinen die Nummern jedoch der UserName wird immer nur beim ersten mal wieder gegeben...
mfg simon
Anzeige
AW: VBA Code - giebt name nicht wieder
01.02.2018 12:51:16
Bernd
Servus Simon,
teste mal:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
'Code der die Nummerierung wiedergibt
If Target.Column = 3 And Target.Row >= 12 Then
'Code der die Nummerierung wiedergibt
Range("B12:B" & Target.Row).FormulaR1C1 = "=IF(RC[1]"""",COUNTA(R12C3:RC3),"""")"
'Code der den Username wiedergibt
Application.EnableEvents = False
Cells(Target.Row, 8).Value = Application.username
Application.EnableEvents = True
End If
End Sub
Nach Eintragung des Datums in Spalte "C" wird automatisch auch der Benutzername eingetragen.
Dein Fehler im ursprünglichen Code war, dass du nur in die Codeausführung einbiegst, wenn in Spalte "C" etwas geändert wird, aber gleichzeitig die Eintragung des Nutzernamens durch eine Änderung der Spalte "B" voraussetzt. Das kann niemals gleichzeitig mit einer Eingabe passieren. Zudem hast du vergessen die erste IF-Abfrage abzuschließen.

Private Sub Worksheet_Change(ByVal Target As Range)
'Code der die Nummerierung wiedergibt
' Hier biegst du ein, wenn Spalte "C" geändert wird...
If Target.Column = 3 And Target.Row >= 12 Then _
Range("B12:B" & Target.Row).FormulaR1C1 = "=IF(RC[1]"""",COUNTA(R12C3:RC3),"""")"
' vergisst aber die If-Abfrage mit "End If" zu schließen
'Code der den Username wiedergibt
If Target.Count > 1 Then Exit Sub
' Hier werden als Eintragskriterien auf einmal die Spalten "B" und Zeilen > 10 festgelegt
   If Target.Column = 2 And Target.Row > 10 Then
      Application.EnableEvents = False
Cells(Target.Row, 8).Value = Application.username
Application.EnableEvents = True
End If
End Sub

Da Worksheets_Change auf jede Änderung reagiert kann bei dieser Vorgehensweise das Makro nur dann laufen, wenn Spalte "C" bearbeitet wurde. Wenn du Spalte "B" änderst biegst du niemals in die zweite If-Abfrage ein, da die erste nicht abgeschlossen ist.
Grüße, Bernd
Anzeige
AW: VBA Code - giebt name nicht wieder
01.02.2018 13:01:07
simon
Hi Bernd,
Besten Dank für deine Lösung und vor allem auch für den Beschrieb was Falsch war! das hilft einem auch weiter zu kommen in VBA!!!:)
mfg Simon
AW: VBA Code - giebt name nicht wieder
02.02.2018 06:01:13
Rainer
Hallo Bernd,
schön das du helfen konntest.
Der Code war von mir. Deshalb erlaube ich mir eine Anmerkung:
      If Target.Column = 3 And Target.Row >= 12 Then _
Range("B12:B" & Target.Row).FormulaR1C1 = "=IF(RC[1]"""",COUNTA(R12C3:RC3),"""")"
Mit dem UNTERSTRICH hinter dem "Then" ist es ein Einzeiler. Dann braucht ein "If" im VBA kein "End If".

Sub test()
If A = 1 Then MsgBox "Hallo1"
If A = 2 Then MsgBox "Hallo2"
If A = 3 Then MsgBox "Hallo3"
If A = "" Then MsgBox "Hallo4"
'Ist identisch mit:
If A = 1 Then _
MsgBox "Hallo1"
If A = 2 Then _
MsgBox "Hallo2"
If A = 3 Then _
MsgBox "Hallo3"
If A = "" Then _
MsgBox "Hallo4"
End Sub
Gruß,
Rainer
Anzeige
AW: VBA Code - giebt name nicht wieder
02.02.2018 07:49:26
Bernd
Servus Rainer,
da hast du Recht, den Unterstrich habe ich übersehen.
Grüße, Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige