Use Named Range instead?
Glad you got it working, but there was a difference in those lines.
"Same error, same line" was "no error, different line" for me.
David wrote:
Dave Peterson wrote
Which line is giving the error?
It shouldn't be this line with the code you posted:
myNames = Array("Name1, Name1", "Name2, Name2", "Name3, Name3")
It bombs he
For iCtr = LBound(myNames) To UBound(myNames)
But picking up an array from a worksheet will result in a two
dimensional array--even if that second dimension is one (rows by
columns, x rows by 1 column in your case).
Maybe this change would make it work.
myNames = Worksheets("placenamehere").Range("myList").Value
For iCtr = LBound(myNames, 1) To UBound(myNames, 1)
Set FoundCell = Range("A:A").Find(What:=myNames(iCtr, 1))
Same error, same line.
I did find this syntax after further searching, and it works!!:
Dim HPB As HPageBreak, FoundCell As Range
Dim c As Variant, NumPage As Long
For Each c In Range("myList")
Set FoundCell = Range("A:A").Find(What:=c)
Thanks for trying, anyway.
--
David
David wrote:
With a lot of help from folks here, I've got the following working:
Sub PrintMine()
Dim HPB As HPageBreak, FoundCell As Range
Dim iCtr As Long, NumPage As Long, myNames As Variant
myNames = Array( _
"Name1, Name1", "Name2, Name2", "Name3, Name3")
For iCtr = LBound(myNames) To UBound(myNames)
Set FoundCell = Range("A:A").Find(What:=myNames(iCtr))
NumPage = 1
For Each HPB In ActiveSheet.HPageBreaks
If HPB.Location.Row FoundCell.Row Then Exit For
NumPage = NumPage + 1
Next HPB
Sheets(1).PrintOut From:=NumPage, To:=NumPage, preview:=True 'for
testing Next iCtr
End Sub
Where Names are actually Lastname, Firstname of desired list from
total names on the sheet.
Every time that list changes, I have to edit the code and make sure I
spell the new name(s) right and presumably make sure they're in
alphabetical order (my assumption).
Thought occured to me I could select them from a list, give that list
a named range and use that, but I can't figure out how. Any efforts
have resulted in Type Mismatch errors. i.e. myNames =
Range("MyList").Value or .Value2 or .Text
Any help?
--
David
--
Dave Peterson
|