Office: (Office 2010) Excel VBA Ferien und Feiertage aus dem Netz laden und darstellen

Helfe beim Thema Excel VBA Ferien und Feiertage aus dem Netz laden und darstellen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Mitstreiter, erst mal guten morgen und noch kann man es ja sagen, "Ich hoffe ihr seid gut reingerutscht" :-) Ich habe mal wieder ein VBA... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Andy1962, 24. Januar 2020.

  1. Andy1962 Erfahrener User

    Excel VBA Ferien und Feiertage aus dem Netz laden und darstellen


    Hallo Mitstreiter,

    erst mal guten morgen und noch kann man es ja sagen, "Ich hoffe ihr seid gut reingerutscht" :-)

    Ich habe mal wieder ein VBA Problem (und VBA wahrscheinlich auch langsam mit mir ;-))


    Ich habe eine Excel-Datei in der ich mitunter auch die Ferien und Feiertage aus dem Netz geladen und darstellen werden.

    mit dem Makro werden die jeweils gültigen Daten in das Tabellenblatt "Tabelle18" dargestellt.

    die so generierten Daten werden dann über Formeln in die Tabellenblätter "01 bis 12" in den jeweiligen Kalendertagen in den Spalten "f, h, j, l, n, p, r, t, v, x, z, ab, ad, af, ah, aj, al, an, ap, ar, at, av, ax, az, bb, bd, bf, bh, bj, bl, bn" in der Spalte 29 bei entsprechender Gültigkeit farblich markiert. Das ist die mir eingefallene Lösung, damit ich die Tabellenblätter "01 bis 12" weiterhin sperren kann. Da die Tabellenblätter einiges an Formeln besitzt, ist das auch notwendig, da sonst die Gefahr zu groß wäre, dass man versehentlich Formeln löscht.

    Meine Frage an euch
    Habt ihr eine Idee, wie ich das Macro so umschreiben kann, dass die Ferien und Feiertage in den Geschützten Tabellenblättern übergeben werden können?


    PHP:
    Option Explicit
    Sub KommentarErstellen
    (ByVal rZelle As RangeByVal sText As StringByRef rUnionRange As Range)
    Dim nComment As Comment

    If sText <> "" And rZelle 0 Then
        Set nComment 
    rZelle.AddComment(sText)
        
    nComment.Shape.DrawingObject.AutoSize True
        
        
    If rUnionRange Is Nothing Then
         Set rUnionRange 
    rZelle
        
    Else
         
    Set rUnionRange Union(rZellerUnionRange)
        
    End If
    End If
    End Sub

    Sub FeiertageErstellen
    ()
    Dim Bereich As RangeUnionRange As Range
    Dim tempBereich 
    As Range
    Dim Feiertag 
    As Date
    Dim sWelcher 
    As String
    Dim FerienTemine
    UnionFerien As RangeFerienComment As Comment
    Dim AusgabeFerien 
    As Range
    Dim A 
    As Long

    Application
    .ScreenUpdating False

    With Sheets
    ("Tabelle18")
        
    'Kalenterbereich Datum
        Set Bereich = .Range("C4:AG4,C8:AG8,C12:AG12,C16:AG16,C20:AG20,C24:AG24,C28:AG28,C32:AG32,C36:AG36,C40:AG40,C44:AG44,C48:AG48")
        '
    Kalenderbereich Ausgabe Ferienbeide müssen die selbe größe aufweisen
        Set AusgabeFerien 
    = .Range("C5:AG5,C9:AG9,C13:AG13,C17:AG17,C21:AG21,C25:AG25,C29:AG29,C33:AG33,C37:AG37,C41:AG41,C45:AG45,C49:AG49")
         
         
    'Kommentare löschen
         On Error Resume Next
          Bereich.ClearComments
          AusgabeFerien.ClearComments
         On Error GoTo 0
         '
    Bedingte Formatierung löschen
            Bereich
    .FormatConditions.Delete
            AusgabeFerien
    .FormatConditions.Delete
        
       
    If .Range("O1").Text <> "" And .Range("H1").Text <> "" Then
            FerienAbfrage 
    .Range("O1").Text, .Range("H1").TextFerienTemine
                
    If FerienTemine(11) <> "Error Abfrage" Then
                     
    For Each tempBereich In Bereich

                        
    If tempBereich <> "" Then
                            
    For 1 To UBound(FerienTemine)
                                If 
    Not IsEmpty(FerienTemine(A3)) Then
                                  
    If tempBereich.Value >= FerienTemine(A3Then
                                   
    If tempBereich.Value <= FerienTemine(A4Then
        
                                        
    If UnionFerien Is Nothing Then
                                         Set UnionFerien 
    tempBereich.Offset(10)
                                        Else
                                         
    Set UnionFerien Union(UnionFerientempBereich.Offset(10))
                                        
    End If
        
                                         
    Set FerienComment tempBereich.Offset(10).AddComment(FerienTemine(A1))
                                         
    FerienComment.Shape.DrawingObject.AutoSize True
                                   
                                   End 
    If
                                  
    End If
                                 
    End If
                            
    Next A
                         End 
    If
                     
    Next tempBereich
                End 
    If
       
    End If



        If .
    Range("O1").Text <> "" Then
        
    For Each Bereich In Bereich
         
    If Bereich <> "" Then
            Date_Feiertag Bereich
    sWelcherRange("O1").Text
            KommentarErstellen Bereich
    sWelcherUnionRange
         End 
    If
        
    Next Bereich

        
    'Farben Erstellen
        If Not UnionRange Is Nothing Then
            UnionRange.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=0"
            UnionRange.FormatConditions(1).Interior.ColorIndex = 15
        End If
      End If
      
      If .Range("H1").Text <> "" And FerienTemine(1, 1) <> "Error Abfrage" Then
            UnionFerien.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=0"
            UnionFerien.FormatConditions(1).Interior.ColorIndex = 4
      End If
      If FerienTemine(1, 1) = "Error Abfrage" Then
       MsgBox "Ferientermine '" & Range("
    O1") & " " & Range("H1") & "' konnten nicht ermittelt werden!"
      End If
    End With
    Application.ScreenUpdating = True
    End Sub
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Andy1962, 24. Januar 2020
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    wenn es darum geht, wie man per VBA für ein Arbeitsblatt den Blattschutz einschaltet bzw. wieder aufhebt:
    Code:
    '…
    'Einschalten fürs aktive Arbeitsblatt:
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    '...
    'Ausschalten fürs aktive Arbeitsblatt:
    ActiveSheet.Unprotect
    '...
    '...
    'Einschalten fürs aktive Arbeitsblatt mit Passwort "BlaBla":
    ActiveSheet.Protect Password:="BlaBla", DrawingObjects:=True, Contents:=True, Scenarios:=True
    '...
    'Ausschalten fürs aktive Arbeitsblatt mit Passwort "BlaBla":
    ActiveSheet.Unprotect Password:="BlaBla"
    
     
    Exl121150, 24. Januar 2020
    #2
Thema:

Excel VBA Ferien und Feiertage aus dem Netz laden und darstellen

Die Seite wird geladen...
  1. Excel VBA Ferien und Feiertage aus dem Netz laden und darstellen - Similar Threads - Excel VBA Ferien

  2. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  3. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  4. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  5. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  6. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  7. Excel VBA mit Toggle Button Zeile einfärben

    in Microsoft Excel Hilfe
    Excel VBA mit Toggle Button Zeile einfärben: Hallo, ich habe ein Makro für einen activeX Toggle Button. Wenn dieser nicht betätigt ist, sollen bestimme Zellen in einer Reihe ihre Hintergrundfarbe ( hexal #FFFFFF ; RGB 255 255 255)...
  8. VBA Textbox macht was sie will

    in Microsoft Excel Hilfe
    VBA Textbox macht was sie will: Hallo, ich bin ein Neuling bei VBA auch Excel habe ich bisher nie so intensiv benutzt wie in den letzten Wochen. Ich sitze jetzt schon länger vor einem Problem, welches ich weder mit Hilfe des...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden