vollgendes Problem:
Ich habe einen CommandButton, der folgendes machen soll:
***
Wenn Click, dann prüfe Wert in Zelle D6
wenn Wert = "frei"oder "krank" oder "Url", dann leere Zellen im Bereich D7:D43
wenn Wert= "früh", dann schreibe in Zelle D21:D23 "Mittag"
wenn Wert= "spät", dann schreibe in Zelle D24:D26 "Mittag"
wenn Wert= "kurz früh" dann leere Bereich D31:D43
wenn Wert= "kurz spät" dann leere Bereich D7:D18
***
Das gleiche soll dann in den Spalten E:N passieren
Dazu sei gesagt, dass alle Zellen im Bereich D7:N43 Dropdown Menüs haben, in der man Tätigkeiten auswählen kann z.B. "MA in Schulung; MA in Meeting"
Zur Erläuterung: Das Datenblatt soll auswertbar sein. Das heißt, wenn der MA nicht im Hause ist, sollen aus den Zellen keine Werte gezogen werden. Ich hatte erst mit einer bedingten Formatierung die Zellen Hintergründe und Schriften weiß gemacht, aber die Werte bleiben ja in den Zellen und verfälschen die Auswertung.
Wenn mir einer Helfen könnte wäre das super. Wenn noch Werte fehlen, dann gebt mir ein Feedback.
Ich habe aus einer anderen Datei einen VBA Code geborgt um den entsprechend umzuschreiben, aber leider bekomme ich das nicht hin. Hier ist er:
Private Sub OKAY_Click()
Dim such_Zeile As Integer
Dim TZN As Integer
Dim suchtext As String
Dim iRow As Integer
Dim kproject As String
Dim erste_freie_Zeile As Integer
Dim letzte_Daten_Zeile As Integer
Dim PW As String
PW = mal_07_einst.Range("P19").Value
mal_09_dat.Unprotect (PW)
iRow = 1
kproject = "K"
mal_07_einst.Range("P14").Value = "1"
such_Zeile = mal_07_einst.Range("P11").Value
Sheets("Daten").Cells(such_Zeile, 2) = ""
Sheets("Daten").Cells(such_Zeile, 3) = ""
Sheets("Daten").Cells(such_Zeile, 4) = ""
Sheets("Daten").Cells(such_Zeile, 5) = ""
Sheets("Daten").Cells(such_Zeile, 6) = ""
Sheets("Daten").Cells(such_Zeile, 7) = ""
Sheets("Daten").Cells(such_Zeile, 8) = ""
Sheets("Daten").Cells(such_Zeile, 9) = ""
Sheets("Daten").Cells(such_Zeile, 10) = ""
Sheets("Daten").Cells(such_Zeile, 11) = ""
Sheets("Daten").Cells(such_Zeile, 12) = ""
Sheets("Daten").Cells(such_Zeile, 13) = ""
Sheets("Daten").Cells(such_Zeile, 14) = ""
Sheets("Daten").Cells(such_Zeile, 15) = ""
Sheets("Daten").Cells(such_Zeile, 16) = ""
Sheets("Daten").Cells(such_Zeile, 17) = ""
Sheets("Daten").Cells(such_Zeile, 18) = ""
Sheets("Daten").Cells(such_Zeile, 19) = ""
Sheets("Daten").Cells(such_Zeile, 20) = ""
Sheets("Daten").Cells(such_Zeile, 21) = ""
Sheets("Daten").Cells(such_Zeile, 22) = ""
Sheets("Daten").Cells(such_Zeile, 25) = ""
Sheets("Daten").Cells(such_Zeile, 26) = ""
Sheets("Daten").Cells(such_Zeile, 27) = ""
Sheets("Daten").Cells(such_Zeile, 28) = ""
Sheets("Daten").Cells(such_Zeile, 29) = ""
pjname = 7
DZE = mal_07_einst.Range("P7").Value
DZS = 1
TZN = 0
suchtext = mal_07_einst.Range("P10").Value
If suchtext "" Then
'Zeile suchen
For level = DZS To DZE
If mal_07_einst.Cells(level, pjname).Value = suchtext Then
TZN = level
level = DZE
End If
Next level
If TZN = 0 Then
Application.ScreenUpdating = True
to_do_suche_not.Show
Else
mal_07_einst.Range("P12").Value = TZN
Sheets("Einstellungen").Cells(TZN, 6) = ""
Sheets("Einstellungen").Cells(TZN, 7) = ""
End If
End If
Sheets("Daten").Visible = True
Sheets("Daten").Select
Range("B5:AC65536").Select
Selection.sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Einstellungen").Visible = True
Sheets("Einstellungen").Select
Range("F2:G65536").Select
Selection.sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
Sheets("Einstellungen").Select
Range("H2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
letzte_Daten_Zeile = Sheets("Daten").UsedRange.SpecialCells(xlCellTypeLastCell).Row
For iRow = 1 To letzte_Daten_Zeile
If Sheets("Daten").Cells(iRow, 26).Value = kproject Then
erste_freie_Zeile = Sheets("Einstellungen").Range("H65536").End(xlUp).Offset(1, 0).Row + 1
If erste_freie_Zeile
Danke schon mal für Eure Hilfe!!
Gruß André