• 締切済み

印刷マクロがおかしくなった~

印刷マクロがおかしくなりました。 コ-ドは次のとおりです。 Sub 最終処理分印刷() '----- 印刷範囲 列指定 --------- Const Sh = "入力" '  <----- シ-ト名指定 Const Left_Col = "A" '  <------ 印刷範囲の左端列 Const Right_Col = "S" '  <----- 印刷範囲の右端列 Const Target_Col = "T" ' <----- 印刷データ判定列(日付形式) Const Prev_Mode = 1 '  <----- 0 = 直接印刷 /  1 = プレビュー '------------------------------ Dim TopRw As Long Dim EndRw As Long Dim Target_Date As Date Dim N As Long With Worksheets(Sh) EndRw = .Range(Target_Col & "65536").End(xlUp).Row If Not IsDate(.Range(Target_Col & EndRw).Value) Then MsgBox "印刷するデ-タがありません。 終了します。" Exit Sub Else Target_Date = .Range(Target_Col & EndRw).Value End If TopRw = EndRw Do While .Range(Target_Col & TopRw).Value = _ .Range(Target_Col & TopRw).Offset(-1).Value TopRw = TopRw - 1 If TopRw = 1 Then Exit Do Loop N = EndRw - TopRw + 1 .PageSetup.PrintArea = Range(Left_Col & TopRw & _ ":" & Right_Col & EndRw).Address If Err.Number > 0 Then MsgBox "プリンタ-の準備が、出来ていません。" Exit Sub End If If MsgBox("受付簿の印刷を開始します。印刷日は入力されていますか?", vbOKCancel, "確認") = vbOK Then '"通知書”欄から"保険証書”欄までは印刷しない .Range("K1:N1").EntireColumn.Hidden = True If Prev_Mode = 1 Then .PrintOut Preview:=True Else 'ユーザーフォームによるメッセージ表示 UserForm2.Show vbModeless DoEvents .PrintOut Preview:=False 'メッセージ用のユーザーフォームを閉じる UserForm2.Hide MsgBox Target_Date & " 印刷分を " & N & _ " 件 印刷しました。", , "印刷完了" End If End If .PageSetup.PrintArea = False '印刷終了後"通知書”欄から"保険証書”欄まで再度表示 .Range("K1:N1").EntireColumn.Hidden = False End With End Sub VBAを実行すると、 > .Range("K1:N1").EntireColumn.Hidden = True 実行時エラ-’1004’ RangeクラスのHiddenプロパティを設定できません。 原因がわかりません。

みんなの回答

noname#65286
noname#65286
回答No.1

> 実行時エラ-’1004’ > RangeクラスのHiddenプロパティを設定できません。 シートが保護されていて Range("K1:N1").EntireColumn.Hidden = False を実行できないエラーのようです。 [ツール][保護][シート保護の解除]で保護を解除してから再度実行してください

関連するQ&A