Datum schieben mit Befehlsschaltfläche
#1
Hallo liebe Excel-Profis
Ich hoffe, dass ihr mir helfen könnt. Da ich ein absoluter Neuling bei der VBA-Programmierung bin, komme ich leider nicht mehr weiter.
Und zwar habe ich eine Excel-Datei mit welcher ich die Produktion plane. Da ich oft den Start- und Endtermin schieben muss (gleiche Anzahl Tage ins + oder -), habe ich mir eine Befehlsschaltfläche (Button) in der Planungsdatei eingepflanzt. Mit folgendem Code funktioniert das schieben des Start- und Endtermin’s jeweils um 1 Tag.
 
Private Sub CommandButton1_Click()
Range("C4").Value = Range("C4").Value + 1
Range("D4").Value = Range("D4").Value + 1
End Sub
Private Sub CommandButton2_Click()
Range("C4").Value = Range("C4").Value - 1
Range("D4").Value = Range("D4").Value - 1
End Sub
 
Nun habe ich 2 Probleme, welche ich nicht lösen kann:
  1. Ich möchte jeweils nur 1 «+» und «-» Button haben, welcher die aktive Zeile berücksichtigt und nicht wie im Bild zwei Buttons pro Zeile / Auftrag.
  2. Die Wochenenden sollten berücksichtigt werden. D.h. wenn das Datum D4 auf einen Samstag/Sonntag fällt, muss +3/+1 gerechnet werden.


Angehängte Dateien Thumbnail(s)
   
Top
#2
Hallo P...,

in dem Beispiel bin ich davon ausgegangen, dass die aktuellen Eintäge Werktage sind.

Code:
Private Sub CommandButton1_Click()
Dim lngZeile As Long
lngZeile = Selection.Row
If IsDate(Range("D" & lngZeile).Value) Then
    If Weekday(Range("D" & lngZeile).Value, vbMonday) = 5 Then
        Range("D" & lngZeile).Value = Range("D" & lngZeile).Value + 3
    Else
        Range("D" & lngZeile).Value = Range("D" & lngZeile).Value + 1
    End If
End If
If IsDate(Range("C" & lngZeile).Value) Then
    If Weekday(Range("C" & lngZeile).Value, vbMonday) = 5 Then
        Range("C" & lngZeile).Value = Range("C" & lngZeile).Value + 3
    Else
        Range("C" & lngZeile).Value = Range("C" & lngZeile).Value + 1
    End If
End If
End Sub
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#3
Vielen lieben Dank Ego :100:
Das ist mal schnell gegangen. Ein "Hoch" auf dich.

So funktionierts gut. :17:

Gibt es gute Literatur / Turtorials auf Youtube oder ähnliches wo du mir empfehlen kannst, um VBA zu erlernen?  Ist eine spannende, jedoch nicht ganz einfache Sache.

LG der Planer
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste