このようなマクロがあるのですが、内容を変更したらうまく動きません。
Sub 請求明細自動印刷()
Application.ScreenUpdating = False
Dim I As Integer
Dim リンクシート As String
For I = 3 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(I, "A") <> 0 Then
リンクシート = Cells(I, "E").Hyperlinks(1).SubAddress
リンクシート = Left(リンクシート, InStr(リンクシート, "!") - 1)
Sheets(リンクシート).PrintOut From:=2, To:=2
End If
Next I
End Sub
↑の内容の ハイパーリンクセルを"E"から Dに変更したので、
↓のように リンク先をDに変更したのですが、同じ書類が出ています
(10枚 多分 If Cells(I, "A") <> 0 Thenに該当するのが10組なので・・・)
Sub 請求明細自動印刷()
Application.ScreenUpdating = False
Dim I As Integer
Dim リンクシート As String
For I = 3 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(I, "A") <> 0 Then
リンクシート = Cells(I, "D").Hyperlinks(1).SubAddress
リンクシート = Left(リンクシート, InStr(リンクシート, "!") - 1)
Sheets(リンクシート).PrintOut From:=2, To:=2
End If
Next I
End Sub
よくわからないのですが、どのよな形に変更するのか教えたください。
For I = 3 To Cells(Rows.Count, "A").End(xlUp).Row
これは宣言文なのですか・・・・?
すみません 急いでるので 調べるより早いと思いまして
お願いします。
Cells(Rows.Count, "A").End(xlUp).Rowは
A列に入力されているデータの最終行の行番号を取得する為の処理です。
例えばA列の10行目までテータがあれば
Cells(I, "A") やCells(I, "D")のIの部分が3,4,5・・・・・10になるまで
For I = 3 To Cells(Rows.Count, "A").End(xlUp).Rowから
Next I までの処理を繰り返します。
お礼
ありがとうございます。 少しわかりました。