Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
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 einen variablen Wert aus Tabelle auslesen

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 !!!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 18:57:21
Werner
Hallo Annette,
das sollte doch mit
Target.Offset(0, 8).Value = Sheets("Start").Range("E12").Value
funktionieren.
Gruß Werner

AW: VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 19:49:07
Annett
Hallo Werner,
vielen lieben Dank für Deine rasche schnelle Antwort :-)
Nun merke ich jedoch das der komplette Code doch nicht so ganz hinhaut wie ich ihn brauche.
Die Zeile

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
8 = Montag; 14 = Dienstag; 20 = Mittwoch; 26 = Donnerstag; 32 = Freitag
Von Montag bis Donnerstag sind es die selben Werte.
Der Freitag hat einen anderen Wert.
Ich müßte "Target.Row = 32" einzeln laufen lassen.
Kannst du da auch weiter helfen?

Anzeige
AW: VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 20:18:58
Werner
Hallo Annette,
ich würde da eine Variable einsetzen. So wie ich das sehe, hast du ja nur zwei unterschiedliche Werte. Einmal von Montag bis Donnerstag und einmal den Freitag.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim loWert AS Long
loWert = 0
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 Then loWert = 8
If Target.Row = 32 Then loWert = 6 'an deine Verhältnisse anpassen
Und dann im Code jeweils die Zeilen
Target.Offset(0, 8) = "8"
ändern in
Target.Offset(0, 8) = loWert
Ist aber ungetestet, sitze am Tablet.
Gruß Werner

Anzeige
AW: VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 19:32:56
Annett
Ich habe es vorerst mal so gelößt:

Target.Offset(0, 8) = "=Start!E12" 'P8 stundenberechnung
Kann man das gelten lassen?
.

AW: VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 19:54:52
Hajo_Zi
wenn Du den Text in der Zelle haben willst ist das richtig. Ansonsten ).Formula

AW: VBA einen variablen Wert aus Tabelle auslesen
18.11.2015 22:22:30
Annett
Ein Riesen großes
D A N K E
für die tolle Hilfe :-)

AW: Gerne und Danke für die Rückmeldung. o.w.T.
18.11.2015 23:13:03
Werner

369 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige