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. Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln

    in Microsoft Excel Hilfe
    Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln: Hallihalllo, Ich sitze gerade an meine Bachelorarbeit und muss mittels VBA ein Auswertungsprogramm für erhobene Daten erarbeiten. Ich suche schon ewig im Internet nach dem passenden Code und...
  3. Excel VBA Problem create button

    in Microsoft Excel Hilfe
    Excel VBA Problem create button: Hallo liebe Community, ich hoffe ihr könnt helfen, bin am verzweifeln und kann den Fehler einfach nicht finden. Wir haben eine aufwendig gestallte Excel Liste, wo wir unter anderem Button...
  4. Excel mit Macro oder VBA für Android Tablet

    in Microsoft Excel Hilfe
    Excel mit Macro oder VBA für Android Tablet: Hallo, ich suche eine Möglichekeit eine Tabelle auf dem Tablet unter Android laufen zu lassen. Bin nicht sehr fortgeschritten aber motiviert. Über und unter einem Feld habe ich ich Buttons die...
  5. Excel-VBA Werte addieren und in nächste freie Zelle eintragen

    in Microsoft Excel Hilfe
    Excel-VBA Werte addieren und in nächste freie Zelle eintragen: Hallo zusammen, ich hab ein kleines Problem und komme leider nicht wurklich voran. Ich habe eine Datei zu einem Produkt. Dort sind für eine bestimmtes Bestelldatum und Ausführungstag die Werte...
  6. Excel VBA Druck als PDF

    in Microsoft Excel Hilfe
    Excel VBA Druck als PDF: Hallo, ich komme überhaupt nicht weiter . . . Bitte um (eure) Hilfe! Ich habe ein aktuelles W10 Pro; Excel 2019, das Arbeitsblatt ist nicht geschützt. Über ein Steuerelement möchte ich mit den...
  7. Bereich speichern als PDF speichern

    in Microsoft Excel Hilfe
    Bereich speichern als PDF speichern: Hallo Leute, leider habe ich ein Problem mit meinem VBA-Code. Bin leider noch nicht so fit darin. Ich habe einen VBA-Code erstellt, womit ein festgelegter Bereich eingeblendet, als PDF gespeichert...
  8. VBA Spalten aus- und einblenden trotz Blattschutz

    in Microsoft Excel Hilfe
    VBA Spalten aus- und einblenden trotz Blattschutz: Guten Tag Ich habe eine Übersicht, in dem die Urlaubszeiträume meiner Kollegen eingetragen werden sollen. Neben Namen, Vornamen und Zeitraum sollen noch weitere spezifische Daten eingetragen...
  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