2015-07-28 3 views
1

Je dois insérer plusieurs sauts de page sur une feuille après chaque cellule qui est une valeur spécifiée. J'ai un morceau de code mais actuellement rien ne se passeVBA Insérer un saut de page où la cellule est spécifiée valeur

Statement.Activate 
Dim c As Range 
Dim FirstAddress As String 

Set c = Columns("A").Find(What:="Please enter your Client Ref on the reverse", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True) 
If Not c Is Nothing Then 
FirstAddress = c.Address 

Do 
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=c.Offset(1) 
Set c = Columns("A").FindNext(c) 
Loop While Not c Is Nothing And c.Address <> FirstAddress 
End If 

Quelqu'un peut-il voir pourquoi cela ne fonctionne pas?

+0

Veuillez vérifier la chaîne dans laquelle vous avez inséré Find: Votre code a fonctionné pour moi! (mais j'ai cherché "asdf") – genespos

Répondre

0

Essayez simplement de boucler les lignes.

Dim ws As Excel.Worksheet 
    Dim lRow As Long 

    lRow = 1 
    Set ws = Application.ActiveSheet 

    'Loop through and record what is in the first column 
    Do While lRow <= ws.UsedRange.Rows.count 

     if ws.Range("A" & lRow) = "Please enter your Client Ref on the reverse" then 
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=c.Offset(1) 
     End if 

     lRow = lRow + 1 
     ws.Range("A" & lRow).Activate 
    Loop 
+0

Cela me donne une erreur d'exécution 424 "Objet requis" sur la ligne ActiveWindow ....? – Becky

0

trouvé le problème! J'avais l'impression réglée sur «Tout sur une page».