Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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

Username in erster Zelle einer bearbeiteten Zeile

Username in erster Zelle einer bearbeiteten Zeile
03.09.2015 10:07:27
Manuel
Guten Morgen ins Forum
Ich heiße Manuel und bin hier neu.
Erstemal vorneweg: Ich hab als Gast hier schon so einiges an Nützlichkeiten gefunden und möchte allen die hier so rumgeistern einen Dank aussprechen!
Nun zu meinen zwei Problemen. Das erste konnte ich zumindest durch diesen Beitrag

https://www.herber.de/forum/archiv/708to712/710469_Aktuelles_Datum_plus_Username_in_Zelle.html

halbwegs lösen konnte...
Ich möchte dass in einer Mappe (von Januar bis Dezember einzelne Blätter) immer in der ersten Zelle einer Zeile der Username eingetragen wird. Diese Zelle wird dann ausgeblendet, soll nur eine Hilfsspalte werden. Also wenn Kollege 1 in Zeile 5 seine Eintragungen macht, soll in A5 der Username stehen. Kollege 2 macht in Zeile 6 seine Eintragung, dann also in A6 der nächste Username...usw usw.
Der nächste Knackpunkt ist dann folgender:
Anhand vom Usernamen in der Hilfsspalte soll im selben Blatt in Zelle "Sowieso" eine Vermittlernummer eingetragen werden. Die Nummern habe ich in einem Hilfsblatt eingetragen.
Ich bin gespannt und VIELEN DANK vorab!!!

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Username in erster Zelle einer bearbeiteten Zeile
03.09.2015 10:55:17
Werner
Hallo Manuel,
Versuch mal
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 And Target.Column 
Code gehört in den Codeteil des Tabellenblattes auf dem er sich auswirken soll. Rechtsklick auf Tabellenblattreiter -- Code anzeigen -- Code ins Code Fenster rechts kopieren
Ungetestet.
Gruß Werner

AW: Username in erster Zelle einer bearbeiteten Zeile
03.09.2015 11:12:14
Manuel
Servus Werner,
danke für die schnelle Rückmeldung!
Hat leider nicht funktioniert, es wird auf einen nicht ausreichenden Verweis hingewiesen.
Mir würde eine Lösung für die komplette Mappe natürlich am Besten passen ;-)

Anzeige
AW: Username in erster Zelle einer bearbeiteten Zeile
03.09.2015 12:26:19
Jack_d
Hallo Manuel,
Werner hat leider das Parent vergessen.
Entweder so (ohne With)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 And Target.Column 
Oder so (mit with)
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet
If Target.Column > 1 And Target.Column 
Eine Lösung für die komplette Mappe ist über das WS_Change Ereignis nicht zielführend.
Da das Change ereignis ja eine Änderung bedingt. Du aber nur in einem Blatt was änderst.
Grüße

Anzeige
AW: Username in erster Zelle einer bearbeiteten Zeile
03.09.2015 12:54:39
Manuel
Bombastisch...dafür schon mal vielen Dank!!!
Darauf aufbauend hätte ich noch eine Frage!
Das "Projekt" ist eine Umsatztabelle.
Userbild
Ich möchte folgendes erreichen: Durch den VBA-Befehl wird in Spalte A der Benutzername eingetragen. Anhand der Daten werden Report-Listen automatisch befüllt. Nur für die Agenturnummer hab ich das nicht hinbekommen. Diese soll sich die Liste anhand des Nutzernamens holen.
Per Formel hab ich das nicht hinbekommen...wie man m Bild sieht. Die Agenturnummer steht in einem anderen Blatt der Mappe neben dem jeweiligen "Real Namen" des Mitarbeiters

Anzeige
Versteh ich nicht.
03.09.2015 13:56:26
Jack_d
Bitte eine Mustermappe dazu hochladen. (die aus dem initialen Post funktioniert nicht)
Grüße

AW: Versteh ich nicht.
03.09.2015 14:27:32
Manuel
Hoffe die geht jetzt. Kurze Erläuterung: Habe aufgrund der Größe alle Monate von Feb.-Dez. rausgeworfen. Januar als Testmonat und Tabelle 1 ist die Quelle für die Dropdowns.
Aufbau: Die beiden linken Tabellen werden durch die Mitarbeiter befüllt. Die 4 Listen rechts daneben sind das Reporting und werden automatisch gezogen.
Mein Problem: Die Agenturnummer muss da noch rein! Die Namen und Nummern finden sich in der "Tabelle1" (sind fiktiv im Beispiel).

Anzeige
AW: Versteh ich nicht.
03.09.2015 15:01:54
Jack_d
Hallo Manuel,
Ich glaub ich hab verstanden was du willt, aber ich erkenne keinen Zusammenhang.
Ist es richtig das du versuchst über des environt deen Nutzer ausfindig zu machen, und anschliessend seine Agenturnummer (auf Basis des Environt) in die Tabelle einzubinden?
Dann bräuchtest du eine "Matchtabelle"
Also
EnvirontUserName = Agenturnummer
Bei dir also in Tabelle 1
Grüße

AW: Versteh ich nicht.
03.09.2015 16:12:09
Manuel
genau das will ich erreichen Jack_d. Bei den restlichen Bezügen bin ich immer vom "Konto" ausgegangen als Bezugspunkt und habe auf der Basis alle übrigen Daten in die Reports gebracht. Bei der Agenturnummer will mir das nur nicht gelingen...

Anzeige
AW: @Jack
03.09.2015 13:12:08
hary
Moin
"Eine Lösung für die komplette Mappe ist über das WS_Change Ereignis nicht zielführend. "
Man kann doch das Workbokk_SheetChange nehmen und die nicht betr. Blaetter rausnehmen.
Oder taeusch ich mich.
gruss hary

AW: @Jack
03.09.2015 13:54:08
Jack_d
Moin Hary,
Also,
Man kann doch das Workbokk_SheetChange nehmen und die nicht betr. Blaetter rausnehmen.
Du meinst sicher das Change() Ereignis. SheetChange kenn ich zumindest nicht.
Was man machen kann:
1. Das Change Ereignis muss Codeseitig immer hinter dem entsprechenden Blatt liegen. (Also wenn man das Change ereignis aus Tab1 aufrufen will muss es VBA seitig im "Blattmodul 1" liegen.
Das heisst, ich kann dieses Ereignis nicht aus Tab2 aus aufrufen, Es sei denn ich hinterlege dort analog die gleiche Routine
2. Übergebe ich den Targetparameter aus dem Blatt aus dem ich den Code aufrufe. Ich kann somit nicht prüfen ob die Änderung in anderen Blättern überhaupt an den relevanten Stellen durchgeführt wurde.
3. Kann man zwar über das Change Event andere Blätter steuern, dann muss man aber wissen, was man da tut.
Ich hoffe das beantwortet deine Frage.
Grüße

Anzeige
AW: @Jack
03.09.2015 18:58:14
Case
Hallo, :-)
es gibt unter "DieseArbeitsmappe" das "Private Sub Workbook_SheetChange". Dieses Ereignis greift für alle Tabellenblätter - auch neu hinzugefügte:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' Dein Code...
End Sub
Soll es nur auf bestimmten Tabellenblättern greifen, dann kannst Du es z. B. so einschränken:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.Name
Case "Tabelle1", "Tabelle2", "Tabelle3"
MsgBox "Los!"
End Select
End Sub
Bzw. mit dem Codenamen der Tabellenblätter:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.CodeName
Case "Tabelle1", "Tabelle2", "Tabelle3"
MsgBox "Los!"
End Select
End Sub
Wie gesagt - Code gehört unter "DieseArbeitsmappe".
Servus
Case

Anzeige
Wieder was dazu gelernt
03.09.2015 23:25:00
JACK_D
.. wie schon erwähnt kannte ich den Code noch nicht.
Ich bleib allerdings bei der Meinung, dass die Verwendung (in meiner Welt zumindest) schwer praktikabel ist.
Mir Fällt zumindest grad kein Beispiel für eine Sinnvolle Verwendung ein :-D
Aber ich bin nicht der Maßstab =)
Beste Grüße

AW: Wieder was dazu gelernt
04.09.2015 08:02:10
hary
Moin Jack
Der Vorteil liegt doch auf der Hand. Ich brauch den Code nur einmal schreiben und/oder je nach Blattnamen unterschiedliche Codes ausfuehren lassen.
In den Workbookcode.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.Name
Case "Tabelle1" '--erweiterbar durch ,"Tabelle2" immer durch Komma getrennt
'--bei Blattname "Tabelle1" tu nix
Case Else '-- bei allen anderen Blaettern
If Target.Column > 1 And Target.Column 

gruss hary

Anzeige
AW: Username in erster Zelle einer bearbeiteten Zeile
03.09.2015 18:24:53
Manuel
hab alles was ich brauche. Besten Dank an alle und Thread erledigt!

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige