Excel VBA eine definierte Shape bewegen?

Hallo Zusammen,

Ich habe in einem File mit zwei Blättern (Genehmigung und Planung) einen Balken (benannt "Datumsbalken"). Dieser ist jeweils auf dem heutigen Tag fixiert.

Jetzt will ich seine Verschiebung anhand des heutigen Datums automatisieren. Ich bringe jedoch das Makro nicht zum laufen. Was ist mein Fehler?

Sub BalkenSchieben3()
 
    Dim Today As Variant
    Dim Last As Variant
    Dim TodaySheet As Variant
    Dim Difference As Variant
    Dim Form As Shape
 
    Set Form = Sheets("Planung").Shapes.Range("Datumsbalken") '(Array("Datumsbalken")) soll die Shape "Datumsbalken" suchen
    Set Today = Date 'Setzt das heutige Datum
    Set Difference = Sheets("Genehmigung").Range("AO3") 'Setzt den Unterschied zwischen letzter Bearbeitung und Heute
    Set TodaySheet = Sheets("Genehmigung").Range("AK3")
    
        If Difference > 0 Then
            For Difference = 1 To Difference 'Die Anzahl Tagesunterschiede (Difference) entscheidet, wie viele Male der Balken verschoben werden soll.
                With Sheets("Planung")
                    Form.Select
                    Selection.ShapeRange.IncrementLeft 21
                End With
                
            Next
            
            Else
        End If
    
    Set Sheets("Genehmigung").Range("AK3") = Today 'Das heutige Datum wird in die Zelle abgespeichert
    Set Sheets("Genehmigung").Range("AM3") = TodaySheet 'Das letzte Bearbeitungsdatum (vorheriges "Heute") wird abgespeichert, damit die nächste Difference berechnet werden kann
 
End Sub

Vielen Dank im Voraus!

Microsoft Excel, Microsoft Office, programmieren, VBA, Formel
Excel VBA: Tabellenblätter bei gewissen Zellenwert ausblenden?

Hallo Zusammen,

Ich will mittels VBA ein Excel modifizieren, damit möglichst wenige Tabellenblätter angezeigt werden. In einem Tabellenblatt (z.B. "Auswahl") habe ich die Zellen C62, C88 und C114, die jeweils ein spezielles Tabellenblatt anzeigen sollen. Jedoch gibt es im Moment nur LZF-Meldungen.

Es soll jeweils bei "Yes" nichts angezeigt, bei "No" die entsprechende Tabelle eingeblendet werden.

Ansonsten sollen die "nicht betroffenen" Tabellen ausgeblendet bleiben

Hier der Code im Worksheet "DieseArbeitsmappe":

Private Sub Worksheet_Open()

'Beim Öffnen des Excels die betroffenen Blätter ausblenden
    ThisWorkbook.Worksheets("Tabelle4").Visible = False 
    ThisWorkbook.Worksheets("Tabelle5").Visible = False
    ThisWorkbook.Worksheets("Tabelle6").Visible = False
    
End Sub

In Blatt "Auswahl" (Tabelle7) habe ich folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range)

   

‘Hier sind vorher noch andere IF-Regeln hinterlegt, die nur Reihen in Tabelle7 ein/ausblenden

   

    If Range("C62").Value = "No" Then 'Tabellenblätter einblenden, sobald in der jeweiligen Zelle "No" ausgewählt wird

        ThisWorkbook.Worksheets("Tabelle6").Visible = True

       

        Else

        ThisWorkbook.Worksheets("Tabelle6").Visible = False ‘Hier erhalte ich jeweils ein LZF 9?

    End If

   

    If Range("C88").Value = "No" Then

        ThisWorkbook.Worksheets("Tabelle5").Visible = True

       

        Else

        ThisWorkbook.Worksheets("Tabelle5").Visible = False ‘Hier erhalte ich jeweils ein LZF 9?

    End If

   

    If Range("C114").Value = "No" Then

        ThisWorkbook.Worksheets("Tabelle4").Visible = True

       

        Else

        ThisWorkbook.Worksheets("Tabelle4").Visible = False ‘Hier erhalte ich jeweils ein LZF 9?

    End If

   

End Sub

Weshalb gibt es jeweils einen Fehler und wie kann ich diesen am einfachsten beheben?

Vielen Dank, Michael

Microsoft Excel, programmieren, Makro, VBA
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.