VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 18:46:14
Annett
Hallo ihr lieben Profis in Sachen VBA !
Ich habe da mal wieder ein Riesen großes Problem.
Den unten stehenden Code verwende ich und läuft auch Tadellos, dank der tollen Mithilfe hier im Forum.
Nun habe ich mit diesem Code ein Problem.
Es geht um die Zeile(n)
Target.Offset(0, 8) = "8"
Hier ist der Wert {"8"} vordefiniert.Wie kann man diese Zeile so ändern, das dieser Wert entweder:
aus der selben Mappe Zelle V8 (enthält die Formel =Start!E12)
oder
aus der Mappe "Start" Zelle E12
Hier der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then 'prüft auf Spalte 5 = E
If Target.Row = 8 Or Target.Row = 14 Or Target.Row = 20 Or Target.Row = 26 Or Target.Row = _
_
_
32 Then 'prüft auf Zeile
Select Case Target.Value 'prüft auf Inhalt
Case "Urlaub"
Target.Offset(0, 8) = "8" 'P8 stundenberechnung
Target.Offset(1, -4) = "" 'A9 arbeitsanfang
Target.Offset(1, -2) = "" 'A11 arbeitszeitende
Target.Offset(-1, -1) = "" 'D7 rke einsatzort
Target.Offset(2, -2) = "" 'C10 pausenzeit
Target.Offset(4, -4) = "" 'A10 rke anfangszeit
Target.Offset(4, -2) = "" 'A12 rke endzeit
Target.Offset(-1, 0) = "" 'Spalte1
Target.Offset(1, 0) = "" 'Spalte3
Target.Offset(2, 0) = "" 'Spalte4
Target.Offset(3, 0) = "" 'Spalte5
Target.Offset(4, 0) = "" 'Spalte6
Case "verplanter Urlaub"
Target.Offset(0, 8) = "8" 'P8 stundenberechnung
Target.Offset(1, -4) = "" 'A9 arbeitsanfang
Target.Offset(1, -2) = "" 'A11 arbeitszeitende
Target.Offset(-1, -1) = "" 'D7 rke einsatzort
Target.Offset(2, -2) = "" 'C10 pausenzeit
Target.Offset(4, -4) = "" 'A10 rke anfangszeit
Target.Offset(4, -2) = "" 'A12 rke endzeit
Target.Offset(-1, 0) = "" 'Spalte1
Target.Offset(1, 0) = "" 'Spalte3
Target.Offset(2, 0) = "" 'Spalte4
Target.Offset(3, 0) = "" 'Spalte5
Target.Offset(4, 0) = "" 'Spalte6
Case "Krank"
Target.Offset(0, 8) = "8"
Target.Offset(1, -4) = ""
Target.Offset(1, -2) = "" 'A11 arbeitszeitende
Target.Offset(-1, -1) = "" 'D7 rke einsatzort
Target.Offset(2, -2) = "" 'C10 pausenzeit
Target.Offset(4, -4) = "" 'A10 rke anfangszeit
Target.Offset(4, -2) = "" 'A12 rke endzeit
Target.Offset(-1, 0) = "" 'Spalte1
Target.Offset(1, 0) = "" 'Spalte3
Target.Offset(2, 0) = "" 'Spalte4
Target.Offset(3, 0) = "" 'Spalte5
Target.Offset(4, 0) = "" 'Spalte6
Case "Feiertag"
Target.Offset(0, 8) = "8"
Target.Offset(1, -4) = ""
Target.Offset(1, -2) = "" 'A11 arbeitszeitende
Target.Offset(-1, -1) = "" 'D7 rke einsatzort
Target.Offset(2, -2) = "" 'C10 pausenzeit
Target.Offset(4, -4) = "" 'A10 rke anfangszeit
Target.Offset(4, -2) = "" 'A12 rke endzeit
Target.Offset(-1, 0) = "" 'Spalte1
Target.Offset(1, 0) = "" 'Spalte3
Target.Offset(2, 0) = "" 'Spalte4
Target.Offset(3, 0) = "" 'Spalte5
Target.Offset(4, 0) = "" 'Spalte6
Case "Frei"
Target.Offset(0, 8) = "0"
Target.Offset(1, -4) = ""
Target.Offset(1, -2) = "" 'A11 arbeitszeitende
Target.Offset(-1, -1) = "" 'D7 rke einsatzort
Target.Offset(2, -2) = "" 'C10 pausenzeit
Target.Offset(4, -4) = "" 'A10 rke anfangszeit
Target.Offset(4, -2) = "" 'A12 rke endzeit
Target.Offset(-1, 0) = "" 'Spalte1
Target.Offset(1, 0) = "" 'Spalte3
Target.Offset(2, 0) = "" 'Spalte4
Target.Offset(3, 0) = "" 'Spalte5
Target.Offset(4, 0) = "" 'Spalte6
Case Empty
Target.Offset(0, 8) = "0"
End Select
Else
'MsgBox "Nicht die richtige Zeile"
End If
Else
'MsgBox "Nicht die richtige Spalte"
End If
End Sub
Vielen lieben Dank schon mal im Voraus für Eure Mühe !!!