Case-Abfrage erweitern
Enno
ich habe in meinem Workbook ein Sheet mit "von-bis"-Zeitendefinitionen und jeweils ein Tastaturkürzel dazu.
Sheet Zeitendef:
A---06:00---16:00
B---08:00---18:00
Der Anwender gibt in den anderen Sheets immer nur den jew. Buchstaben in die Zelle ein und der VB-Code trägt autom. die jew. "von-bis"-Zeit ein.
Coding:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wksDZ As Worksheet
Select Case Left(Sh.Name, 4)
Case "Plan"
If Sh.Cells(7, Target.Column) = "von" Then
Set wksDZ = Sheets("Zeitdefinitionen")
On Error GoTo errHDL
Application.EnableEvents = False
Select Case UCase(Target)
Case "A"
Target = wksDZ.Cells(1, 2)
Target.Offset(0, 1) = wksDZ.Cells(1, 3)
Case "B"
Target = wksDZ.Cells(2, 2)
Target.Offset(0, 1) = wksDZ.Cells(2, 3)
Case "C"
Target = wksDZ.Cells(3, 2)
Target.Offset(0, 1) = wksDZ.Cells(3, 3)
Case "D"
Target = wksDZ.Cells(4, 2)
Target.Offset(0, 1) = wksDZ.Cells(4, 3)
End Select
End If
End Select
errHDL:
Application.EnableEvents = True
End Sub
Soweit so gut. Das Problem:
In Zeile 6 habe ich Personennamen stehen. Beginnen diese zufällig mit dem Buchstaben A oder B, schreibt mir Excel deren Namen in die "von-bis"-Zeiten, nicht jedoch die tatsächliche Zeitdefinition.
Da das gesamte Workbook von der Formatierung her statisch ist, würde es genügen bei der If-Abfrage Zeile 6 zu ignorieren.
Also vor: If Sh.Cells(7, Target.Column) = "von" Then
Zeile 6 (=Personennamen) ausgrenzen.
Wäre ganz toll wenn ihr mir kurz auf die Sprünge helfen könnt, bin leider in VBA nicht so eingearbeitet und verstehe das Script nur bedingt. ;(
Thanxs, Enno