0
votes

Comment supprimer une feuille de calcul avec VBA qui a un format de date?

Entrez le code de la feuille de travail Herea sera automatiquement créé. La feuille de calcul aura une date qui est entrée 2 jours à compter de la date actuelle. J'ai du mal à l'obtenir pour supprimer cette feuille de calcul quand elle devient de 3 jours. S'il vous plaît voir mon code ci-dessous pour ce que j'ai actuellement.

For Each ws In Worksheets
    If ws.Name = Format(Date - 2, "MM-DD-YYYY") Then
        Application.DisplayAlerts = False
        Sheets(Date - 2, "MM-DD-YYYY").Delete
        Application.DisplayAlerts = True


1 commentaires

Voulez-vous supprimer Toute fiche de trois jours ou plus? Quelque chose à couvrir les week-ends et les jours fériés?


3 Réponses :


0
votes

Vous ne retournez pas une chaîne formatée dans la collection de feuilles.

For Each ws In Worksheets
    If cdate(ws.Name) <= APPLICATION.WORKDAY(Date, -3) Then
        Application.DisplayAlerts = False
        ws.delete
        Application.DisplayAlerts = True
    end if
NEXT WS


1 commentaires

Il y a été là encore, mais a commenté comme une méthode alternative afin que l'OP n'a pas essayé de supprimer deux fois la même feuille de calcul.



0
votes

Si j'ai compris votre question, vous pouvez essayer ce code: xxx

ex. Si aujourd'hui est 01-02-2019, la macro supprime la feuille avec la date 12-31-2018 (mm-jayyy). Si vous souhaitez supprimer la feuille 3 jours, vous devez modifier la valeur 2 en 3 (dans la macro).

J'espère que cela aide!


0 commentaires

0
votes

Supprimer les anciennes feuilles
  • Ce code comprend la suppression des feuilles de graphique possibles.
  • Pour activer la suppression sans confirmation, vous devez définir CblnwithoutConfirmation à True .

    le code xxx


0 commentaires