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

Focus

Focus
guffels
Hallo zusammen,
in einer Liste können die Benutzer in der Spalte neben ihren Namen Werte eintragen.
Nun soll nach jeglichem Navigieren eine Überprüfung erfolgen, ob ein Wert eingegben wurde. Wenn ja soll in der nächsten Spallte der Username eingetragen werden.
Ist sowas möglich?
Kann ich de Focus mit VBA auslesen und weiter navigieren!
Schon mal vielen Dank
MFG Michael

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

Betreff
Benutzer
Anzeige
AW: Focus
10.02.2010 12:35:32
Reinhard
Hallo Michael,
Im Tabellenmodul:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zei As Long
If Target.Column Mod 2 = 0 Then
If Target.Value  "" Then
Zei = Cells(Rows.Count, Target.Column + 1).End(xlUp).Row + 1
Cells(Zei, Target.Column + 1) = Target.Offset(0, -1)
End If
End If
End Sub

bezogen auf dies Tabelle:
Tabelle1
 ABCDEF
1NameWertNameWertNameWert
2Name1111Name1     
3Name256Name2     
4Name3  Name5     
5Name4         
6Name555       
7Name6         

Tabellendarstellung in Foren Version 5.7


Gruß
Reinhard
Anzeige
Wert-Eingabe protokollieren
10.02.2010 12:44:22
NoNet
Hallo Michael,
kopiere dazu den folgenden VBA-Code in das Klassenmodul des Tabellenblattes (also: Namen des Blattes im Blattregister unten per Rechts anklicken und "Code anzeigen..." auswählen) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Application.EnableEvents = False 'Ereignissteuerung temporär deaktivieren
For Each rngZelle In Target 'Für alle Zellen in die ein WERT eingegeben wurde
'In Spalte rechts neben der Eingabe den Benutzernamen eintragen :
If IsNumeric(rngZelle) Then rngZelle.Offset(, 1) = Environ("Username")
Next
Application.EnableEvents = True 'Ereignissteuerung wieder aktivieren
End Sub
Falls Du mit "Werte" auch Texte und nicht nur Zahlewerte meintest, dann folgenden Code kopieren :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Application.EnableEvents = False 'Ereignissteuerung temporär deaktivieren
For Each rngZelle In Target 'Für alle Zellen in die eine Eingabe erfolgte :
'In Spalte rechts neben der Eingabe den Benutzernamen eintragen :
If not IsEmpty(rngZelle) then rngZelle.Offset(, 1) = Environ("Username")
Next
Application.EnableEvents = True 'Ereignissteuerung wieder aktivieren
End Sub
Gruß, NoNet
Anzeige
AW: Wert-Eingabe protokollieren
10.02.2010 14:11:36
guffels
Danke für die prompte Lösung!
Aber warum liefert "Environ" einen anderen Namen als "Application.Username" ?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige