Thema Datum  Von Nutzer Rating
Antwort
Rot Spalte überspringen
07.01.2020 10:58:57 Gast93366
NotSolved
07.01.2020 11:05:36 Mase
*****
NotSolved
07.01.2020 11:09:09 Gast8310
NotSolved
07.01.2020 11:17:59 Mase
NotSolved
07.01.2020 11:22:04 Gast70490
NotSolved
07.01.2020 11:53:48 Mase
NotSolved
07.01.2020 12:17:50 Gast26965
NotSolved
07.01.2020 12:20:02 Mase
NotSolved
07.01.2020 12:23:52 Gast67610
NotSolved
07.01.2020 12:32:45 Mase
*****
Solved
07.01.2020 14:33:01 Mase
NotSolved

Ansicht des Beitrags:
Von:
Gast93366
Datum:
07.01.2020 10:58:57
Views:
1069
Rating: Antwort:
  Ja
Thema:
Spalte überspringen

Hi Leute,

ich habe einen VBA-Code bei dem eine Terminübersicht innerhalb einer Matrix möglich ist. Dabei wird auf einen Kalender bezogen, der in Zeile 6 zu finden ist. Über einen Button soll der erste freie verfügbare Tag erkannt werden. Jetzt kann dieser Code schon erkennen, dass Samstage und Sonntage als freie Tage berücksichtigt werden sollen. Allerdings erkennt er die Feiertage noch nicht, so dass mir Verfügbarkeit angezeigt wird, obwohl dies kein Arbeitstag sein soll. Diese habe ich in einem anderen Tabellenblatt hinterlegt. Anbei der entsprechende Ausschnitt des Codes:

 For Each col In rng.Columns
        With wks
            If Not Weekday(.Cells(6, col.column).Value, vbMonday) > 5 And IsError(IsHoliday(.Cells(6, col.column).Value)) And IsError(Is2Holiday(.Cells(6, col.column).Value)) And IsError(Is3Holiday(.Cells(6, col.column).Value)) = True Then
                If col.Cells.Count = Application.WorksheetFunction.CountBlank(col) Then
                         MSGBOX "Volle Verfügbarkeit am " & .Cells(5, col.column) & ", den " & .Cells(6, col.column)
                    Exit Sub
                End If
            End If
        End With
    Next
    '
       MSGBOX "Es gibt keine komplett leere Spalte in der Ressourcenplanung"
End Sub

Function IsHoliday(d As Date) As Variant
    Dim v As Variant
    v = Application.Match(CDbl(d), ThisWorkbook.Worksheets("Public Holidays").Columns(1), 0)
    IsHoliday = v
End Function

Function Is2Holiday(d As Date) As Variant
    Dim v As Variant
    v = Application.Match(CDbl(d), ThisWorkbook.Worksheets("Public Holidays").Columns(3), 0)
    Is2Holiday = v
End Function
Function Is3Holiday(d As Date) As Variant
    Dim v As Variant
    v = Application.Match(CDbl(d), ThisWorkbook.Worksheets("Public Holidays").Columns(5), 0)
    Is3Holiday = v
End Function

Vielen Dank für eure Hilfe!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Spalte überspringen
07.01.2020 10:58:57 Gast93366
NotSolved
07.01.2020 11:05:36 Mase
*****
NotSolved
07.01.2020 11:09:09 Gast8310
NotSolved
07.01.2020 11:17:59 Mase
NotSolved
07.01.2020 11:22:04 Gast70490
NotSolved
07.01.2020 11:53:48 Mase
NotSolved
07.01.2020 12:17:50 Gast26965
NotSolved
07.01.2020 12:20:02 Mase
NotSolved
07.01.2020 12:23:52 Gast67610
NotSolved
07.01.2020 12:32:45 Mase
*****
Solved
07.01.2020 14:33:01 Mase
NotSolved