Help with XLM 4.0 Get Document command

G

Guest

The code below was submitted by Tom Ogilvy for getting the page breaks. It
works great, but I want to modify it to work on a set of sheets or just
replace "sheet1" with a variable name, so I can loop through various sheets.
I don't know how to modify the following xlm 4.0 macro command:
ThisWorkbook.Names.Add Name:="vPB", _
RefersToR1C1:="=GET.DOCUMENT(65,""Sheet1"")"
so I can either use a variable in place of sheet1 so I can use this on
different sheets without having to set up a separate macro for each sheet.

Thanks


Sub PageBottomBorder()
Dim horzpbArray(), i As Integer, j As Integer
Dim verpbArray()
Dim mySheet As Object
Set mySheet = ActiveSheet
With mySheet.Range("wts_border_range").Borders(xlEdgeBottom)
.LineStyle = xlLineStyleNone
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With

ThisWorkbook.Names.Add Name:="hzPB", _
RefersToR1C1:="=GET.DOCUMENT(64,""Sheet1"")"
ThisWorkbook.Names.Add Name:="vPB", _
RefersToR1C1:="=GET.DOCUMENT(65,""Sheet1"")"
i = 1
While Not IsError(Evaluate("Index(hzPB," & i & ")"))
ReDim Preserve horzpbArray(1 To i)
horzpbArray(i) = Evaluate("Index(hzPB," & i & ")")
With ActiveSheet.Rows(horzpbArray(i) - 1).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
i = i + 1
Wend
ReDim Preserve horzpbArray(1 To i - 1)
Debug.Print "Horizontal Pagebreaks (rows):"
For j = LBound(horzpbArray, 1) To UBound(horzpbArray, 1)
Debug.Print j, horzpbArray(j)
Next j


i = 1
While Not IsError(Evaluate("Index(vPB," & i & ")"))
ReDim Preserve verpbArray(1 To i)
verpbArray(i) = Evaluate("Index(vPB," & i & ")")
i = i + 1
Wend
'ReDim Preserve verpbArray(1 To i - 1)
' Debug.Print "Vertical Pagebreaks (columns):"
' For j = LBound(verpbArray, 1) To UBound(verpbArray, 1)
' Debug.Print j, verpbArray(j)
' Next j
End Sub
 
G

Guest

Sub PageBottomBorder()
Dim horzpbArray(), i As Integer, j As Integer
Dim verpbArray()
Dim mySheet As Object
Set mySheet = ActiveSheet
With mySheet.Range("wts_border_range").Borders(xlEdgeBottom)
.LineStyle = xlLineStyleNone
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With

ThisWorkbook.Names.Add Name:="hzPB", _
RefersToR1C1:="=GET.DOCUMENT(64,""" & _
mySheet.Name & """)"
ThisWorkbook.Names.Add Name:="vPB", _
RefersToR1C1:="=GET.DOCUMENT(65,""" & _
mySheet.Name & """)"
i = 1
While Not IsError(Evaluate("Index(hzPB," & i & ")"))
ReDim Preserve horzpbArray(1 To i)
horzpbArray(i) = Evaluate("Index(hzPB," & i & ")")
With ActiveSheet.Rows(horzpbArray(i) - 1).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
i = i + 1
Wend
ReDim Preserve horzpbArray(1 To i - 1)
Debug.Print "Horizontal Pagebreaks (rows):"
For j = LBound(horzpbArray, 1) To UBound(horzpbArray, 1)
Debug.Print j, horzpbArray(j)
Next j


i = 1
While Not IsError(Evaluate("Index(vPB," & i & ")"))
ReDim Preserve verpbArray(1 To i)
verpbArray(i) = Evaluate("Index(vPB," & i & ")")
i = i + 1
Wend
'ReDim Preserve verpbArray(1 To i - 1)
' Debug.Print "Vertical Pagebreaks (columns):"
' For j = LBound(verpbArray, 1) To UBound(verpbArray, 1)
' Debug.Print j, verpbArray(j)
' Next j
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top