|
▼YN61 さん:
>UsedRangeという表現がありますが、これは
ワークシートの中の使用済みセル範囲(書式とか値が入力されているセル範囲)を取得するという意味です。
>貴殿のコードを走らせましたが、表示されていないNo.もピックアップしますが、何か問題があるのでしょうか。連番が順次全て表示しますが、小生、何かおかしいことをしているのでしょうか。留意点がありましたら、ご指導ください。
すみません。印刷の部分までチェックしていなかったものですから、もしフィルタされた顧客リストのみを選択番号順に1枚ずつ印刷したいのであれば、以下のVBAコードで印刷できると思いますが・・・。
Sub 葉書宛名差込印刷()
Dim 番号 As Long
Dim 最初行 As Long
Dim 最終行 As Long
Dim myLastRow As Long '最終行を格納する変数
Dim myLastCol As Integer '最終列を格納する変数
Dim i As Long '行を格納する変数
Dim j As Integer '列を格納する変数
Worksheets("顧客リスト").Activate
Call RowColumn(myLastRow, myLastCol)
最終行 = myLastRow
最初行 = 2
Worksheets("宛名印刷").Activate
For i = 最初行 To 最終行
For j = 1 To myLastCol
Worksheets("宛名印刷").Cells(1, 4 + j).Value = Worksheets("顧客リスト").Cells(i, j).Value
Next j
Worksheets("宛名印刷").PrintOut
Next i
End Sub
Sub RowColumn(myLastRow, myLastCol)
With ActiveSheet.UsedRange
myLastRow = .Rows(.Rows.Count).Row
myLastCol = .Columns(.Columns.Count).Column
End With
End Sub
|
|