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. Aus Excel heraus verschiedene IP Adressen anpingen mit VBA

    in Microsoft Excel Hilfe
    Aus Excel heraus verschiedene IP Adressen anpingen mit VBA: Hallo zusammen. Vorweg: VBA kenn ich mich null aus! :-( Mein Ziel erst einmal: In einer Tabelle stehen in der Spalte C von 8 bis 21 verschiedene IP-Adressen. Per Klick auf einen Button soll dann...
  3. Excel VBA - ListBox mit TextBox Filtern

    in Microsoft Excel Hilfe
    Excel VBA - ListBox mit TextBox Filtern: Grüße! Bin sonst stiller Mitleser und kann im Regelfall meine Probleme durch andere Forenbeiträge ableiten und passend abändern, aber hier bin ich an einem Punkt, wo meine VBA-Kenntnisse auf ihre...
  4. VBA-Macros in Excel 2019 unter Windows 11

    in Microsoft Excel Hilfe
    VBA-Macros in Excel 2019 unter Windows 11: Ich habe in Excel 2019 (Office Pro 2019) unter Windows 10 Pro ein VBA-Makro erstellt. Diese Arbeitsmappe läuft auf verschiedenen Systemen unter Excel 2019/Windows10 ohne Probleme. Jetzt habe ich...
  5. Daten Kopieren aus einer zweiten Datei

    in Microsoft Excel Hilfe
    Daten Kopieren aus einer zweiten Datei: Ich weiss nicht ob dies Hier schon existiert. Leider habe ich noch nichts gefunden. Ich habe eine Excel Datei (Kunden Angaben) und eine zweite Datei (Mappe1). Wenn beide geöffnet sind kann ich aus...
  6. VBA Text in Zellen einfügen und farbigem Hintergrund

    in Microsoft Excel Hilfe
    VBA Text in Zellen einfügen und farbigem Hintergrund: Hallo zusammen, ich möchte eine Zeile mit Text und farbigem Hintergrund einfügen. Ich habe bereits einen kleinen Schnippsel VBA-Code gefunden. Dieser erstellt in der Tabelle Tabelle1 in Zeile 2...
  7. VBA duplikate finden und auf Kriterien prüfen

    in Microsoft Excel Hilfe
    VBA duplikate finden und auf Kriterien prüfen: Liebe Excel Gemeinschaft Ich möchte gerne mit VBA code Doppelte Einträge finden und 2 Kriterien sollen Geprüft werden un anderen spalte. Zu guter letzte sollte in einer weiter die...
  8. PivotCache.CreatePivotTable.. manchmal gehts, manchmal nicht?!

    in Microsoft Excel Hilfe
    PivotCache.CreatePivotTable.. manchmal gehts, manchmal nicht?!: Hallo zusammen, ich programmiere zurzeit für ein Projekt ein VBA Programm, dass aus einer Inputdatei Daten in einer Pivot Tabelle darstellt. Prinzipiell funktioniert das Programm. Allerdings ist...
  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