bei Eintrag in einer verbundenen Zelle (aus A2 und B2) schreibt folgendes Makro:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sheet As Worksheet
Dim strPath As String, strSearch As String
strSearch = "Training"
strPath = ThisWorkbook.Path
strPath = Left(strPath, InStr(1, strPath, strSearch) + Len(strSearch))
Dim sUser As String
Dim rZelle As Range
Application.EnableEvents = False
sUser = Environ$("USERNAME")
Set rZelle = Target.Offset(0, 17)
'Sverweisformel
With rZelle
.Formula = "=VLookup(" & sUser & ",'" & _
strPath & "Basisdaten\[Basis.xls]Tabelle1'!K5:N200, 2, False) & "","" & "" "" & _
VLookup(" & sUser & ",'" & _
strPath & "Basisdaten\[Basis.xls]Tabelle1'!K5:N200, 3, False)"
.Formula = .Value & " Ort " & Date
End With
ActiveSheet.EnableAutoFilter = True
Application.EnableEvents = True
End Sub
17 Spalten nach rechts versetzt den Namen des Eintragenden.Mit diesem Makro:
Sub Bearbeiteranzeigen()
UserForm1.TextBox1.Text = Cells(ActiveCell.Row, ActiveCell.Column + 17).Value
UserForm1.Show
End Sub wird dann eine UF aufgerufen und der Wert angezeigt.
Das Problem:
Beim Eintragen des Wertes wird von Zellteil B2 ausgegangen und 17 Spalten weiter nach rechts (Spalte S) eingetragen,
beim Auslesen des Wertes per UF wird von Zellteil A2 ausgegangen und der Wert 17 Spalten weiter rechts (Spalte R) angezeigt. Da steht natürlich dann nix drin.
Ich habe schon versucht beide Codeteile anzupassen / anzugleichen:
UserForm1.TextBox1.Text = Cells(ActiveCell.Row,ActiveCell.Column + 17).Value
ersetzen durch
Target.Offset(0, 17)
und
Set rZelle = Target.Offset(0, 17)
ersetzen durch
Cells(ActiveCell.Row, ActiveCell.Column + 17).Value
Beides ohne Erfolg.
Weiß jemand rat?
Eine Erläuterungsdatei kann ich leider nicht anhängen, weil ich auf Arbeit bin(wird geblockt).
Vielen Dank und Gruß
Alex