-2
votes

VBA - Plusieurs feuilles dans un tableau VBA

Salut cette macro Sous-workbook_open () Insertion dans les différentes feuilles Le macro Call_Color, mais cela ne fonctionne pas:

Private Sub Workbook_Open()
Application.ScreenUpdating = False
   'Dim ListaFogli As Variant
    Dim Foglio As Variant  
    ListaFogli = Array("MAX1", "MAX MAX", "MAX3", "MAX4", "MAX7", "MAX MAX MAX")    
    For Each Foglio In ListaFogli    
        Call color_cell        
    Next Foglio    
Application.ScreenUpdating = True  
End Sub


Sub color_cell()
  Range("A1").Interior.ColorIndex = 3  
End Sub


3 commentaires

Tout votre sous-fonction est la couleur A1 sur la feuille active. Vous devez ajouter un argument de feuille.


Aider à insérer des références aux feuilles?


@ maxma62 Vous n'insissez pas de référence (si vous voulez dire des outils> Références?) Vous obtenez une feuille en demandant à la question du .Peets (ou .worksheets , il y a une différence) Collection d'un objet de classeur .


3 Réponses :


0
votes

Essayez ceci. Pas de piégeage d'erreur dans le cas où le nom de la feuille n'existe pas mais devrait vous démarrer. XXX


1 commentaires

Salut SJR Votre macro pour macro color_cell fonctionne bien. J'ai changé la macro et ajouté la macro imposta_pagina mais cela ne fonctionne pas



0
votes

salut sjr votre macro pour macro color_cell fonctionne bien. J'ai changé la macro et ajouté la macro imposta_pagina, mais cela ne fonctionne pas

Sous-workbook_open () 'SJR P>

Application.Screenupdature = FALSE P>

DIM LACHETAFOGLI AS Variante Dim Foglio en tant que variante p>

listeAfogli = tableau ("Max1", "max3", "max3", "max4", "max7", "max max max") p>

pour Chaque foglio dans listAfogli p> xxx pré>

next foglio p>

application.screenupdature = true p>

extrémité sous p>

sous imposta_pagina (S en tant que chaîne) 'SJR P>

With ActiveSheet.PageSetup
    .PrintTitleRows = "$1:$5"
    .PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
    .CenterHorizontally = True
    .CenterVertically = True
    .Orientation = xlLandscape
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = 30
    End With


1 commentaires

Tout d'abord, cela est plus d'édition de votre question plutôt qu'une réponse. Deuxièmement, vous passez dans s à imposta_pagina mais vous ne l'utilisez pas. Au lieu de cela, vous utilisez activeheet activeheet doit être la feuille à laquelle vous souhaitez appliquer votre formatage. Vous pouvez transmettre un objet de feuille ou obtenir un objet de feuille à partir de activeworkbook.sheets ou ce (s) (s) (s)



0
votes

C'est vrai?

Sub imposta_pagina(s As String) 'esempio 2 SJR

With Worksheets(s).PageSetup
   .PrintTitleRows = "$1:$5"
    .PrintTitleColumns = ""
End With
Worksheets(s).PageSetup.PrintArea = ""
With Worksheets(s).PageSetup
    .CenterHorizontally = True
    .CenterVertically = True
   .Orientation = xlLandscape
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = 30
    End With    


0 commentaires