löschen per VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: löschen per VBA
von: Joachim
Geschrieben am: 18.07.2002 - 10:48:57

Hallo,
ich habe folgendes Problem in meiner Urlaubstageverwaltung:
Ich lasse per VBA nach Anfangs und Enddatum zu den ausgewählten Mitarbeiter, Urlaub in seiner Spalte mit "U" eintragen (die Zellen bleiben markiert).
Jetzt möchte ich in dieser Markierung die Wochenenden die sich in Spalte "D" (per Formel ermittelten Wochentage,"Sa" + "So")befinden die zugehörigen "U" in der Mitarbeiterspalte löschen!

Danke für eure Hilfe Joachim

nach oben   nach unten

Re: löschen per VBA
von: BCM
Geschrieben am: 18.07.2002 - 11:05:21

Hi Joachim,
Range(...).ClearContents
cu
BCM

nach oben   nach unten

Re: löschen per VBA
von: Joachim
Geschrieben am: 18.07.2002 - 12:18:45

Hallo BCM,
da die Wochenenden variabel sind und der Code automatisch ablaufen soll ist es nicht ganz so einfach.

hier mein Versuch:

Private Sub CommandButton107_Click()
Dim i As Integer
Set Daten = Daten
With Daten
Sheets("Plan").Activate
For i = Selection.Cells(Selection.Cells.Count).Row _
To Selection.Cells(1).Row Step -1
If Cells(i, "D").Value = "Sa" Or "So" Then Cells(i).Delete
Next i
End With
End Sub

nach oben   nach unten

Re: löschen per VBA
von: BCM
Geschrieben am: 18.07.2002 - 14:56:25

Hi Joachim,
so solltes gehen. Einfach den Bereich mit den Wochentagen markieren und Macro starten.

Private Sub CommandButton107_Click()
For Each c In Selection
If c.Value = "Sa" Or c.Value = "So" Then c.offset(0,17).ClearContents
Next
End Sub

cu
BCM



nach oben   nach unten

Re: löschen per VBA
von: PeterW
Geschrieben am: 18.07.2002 - 17:15:13

Hallo Joachim,

zwei Gedanken:
warum überspringst Du die Wochenenden nicht sofort beim Eintragen?

Eventuell reicht auch schon eine bedingte Formatierung der Spalte U um die Schriftfarbe der Wochenenden auf die Hintergrundfarbe zu setzen.

Gruß
Peter

nach oben   nach unten

Re: löschen per VBA
von: Joachim
Geschrieben am: 18.07.2002 - 18:57:21

hi,
zum Verständnis:
in Zeile "11" stehen die Mitarbeiter-Namen von Spalte "F" bis "AM"
in Spalte "E" steht das fortlaufende Datum für das Jahr
in Spalte "D" der dazugehörige Wochentag
in der entsprechenden Mitarbeiterspalte wird nun per VBA nach Anfangsdatum und Enddatum
der Urlaub automatisch eingetragen mit dem Buchstaben "U"
diese werden mit der Formel "Zählenwenn" addiert
hat jetzt ein Mitarbeiter Urlaub vom 01.07.02 bis 14.07.02 ergibt das 14 U´s und nicht 10 Urlaubstage
deswegen müsste der Code automatisch erkennen wenn in Spalte "D"
"Sa" oder "So" ist das er die entsprechenden U´s automatisch löscht.
Da wir Mitarbeiter haben, die auch für Wochenende Urlaubstage einsetzen müssen (spezielle Stundenverträge) muß der Code erst nach
Ausfüllen der kompletten Urlaubszeit manuell gestartet werden.

Gruß Joachim

nach oben   nach unten

Re: löschen per VBA
von: PeterW
Geschrieben am: 18.07.2002 - 19:12:03

Hallo Joachim,

nur eine Idee, frag doch nach dem Zeitraum einfach (per InputBox) ab, ob Wochenenden berücksichtigt werden sollen oder nicht. Dann kannst Du Dir den zusätzlichen (manuell zu startenden) Code sparen.

Gruß
Peter


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung"