Les numéros de page en VBA

Divers mrgspott Février 27, 2016 0 1
FONT SIZE:
fontsize_dec
fontsize_inc

 Steve est à la recherche d'un moyen de déterminer, dans une macro VBA, le nombre de pages d'une feuille de calcul aura quand ils sont imprimés, et le numéro de la page à imprimer sur une cellule particulière. Cette tâche est pas aussi facile que l'on pourrait espérer, mais il peut être fait.

 Il semble que la meilleure façon de traiter cette fonction est un vestige Excel 4 pour déterminer le nombre total de pages imprimées dans une feuille de calcul. Ensuite, vous pouvez utiliser les HPageBreaks et VPageBreaks collections pour savoir où la cellule est dans le tableau de pages à imprimer. Ce qui suit est un exemple de macro qui utilise ces éléments:

 Sous Page d'infos
 As Integer Dim iPages
 As Integer Dim iCol
 Comme ICOLS Integer Dim
 Comme lRows long Dim
 As Long Dim lRow
 Dim x As Long
 Dim y As Long
 As Integer Dim iPage

 iPages = ExecuteExcel4Macro ")

 Avec la feuille active
 y =
 ICOLS =
 x = 0
 Faire
 x = x + 1
 Boucle jusqu'à x = ICOLS _
 Ou y <.VPageBreaks
 iCol = x
 Si y> = .VPageBreaks
 iCol iCol + 1 =
 End If

 y =
 lRows =
 x = 0
 Faire
 x = x + 1
 Boucle jusqu'à x = lRows _
 Ou y <.HPageBreaks
 lRow = x
 Si y> = .HPageBreaks
 lRow lRow + 1 =
 End If

 Si = xlDownThenOver Dan
 iPage = * + lRow
 Autrement
 iPage = * + iCol
 End If
 End With
 MsgBox "Cell" & & _
 "A été" & vbCrLf & "Page" & _
 iPage & "" & de iPages & "pages"
 End Sub

 Une chose que vous devriez garder à l'esprit avec cette macro est que les HPageBreaks et VPageBreaks collections ne sont considérés comme précis si vous regardez la feuille de calcul dans la page Aperçu des sauts. Donc, vous aurez envie de vous assurer que vous êtes dans ce mode avant d'une cellule et exécutez la macro.

 Conseils Excel est votre source pour la formation Microsoft Excel rentable. Cette astuce applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez voir une version de cette astuce pour l'interface ruban d'Excel peuvent être trouvés ici: numéros de page en VBA.

(0)
(0)