2013年05月17日
VBA:通所介護事業所(デイサービス)の事務改善(10)
介護事業所(デイサービス)で作られる、介護予防実績報告書の事務改善について書いています。
昨日は、「実績報告書」を一気に印刷する処理について書きましたが、
今日は、対象者を選択して印刷する方法を考えてみたいと思います。
対象者の選択には、チェックボックスを使います。
以前書いた記事を参考にしてみましょう。
こんな感じでしょうか。

A列のセルにチェックボックスとのリンクを行い、
結果が「True」なら印刷対象、「False」ならスルーの
分岐処理を入れます。
昨日のプログラムに赤色の部分を追加します。
Sub 印刷()
Application.ScreenUpdating = False
Err = 0 '実績データない時の判定に使う
r = 8 '開始行
With Worksheets("対象者名簿")
Do Until .Range("d" & r).Value = ""
If .Range("a" & r) = True Then '印刷対象の判定
Call 印刷編集(r)
If Err = 0 Then
Worksheets("実績報告書").Select
ActiveWindow.SelectedSheets.PrintPreview
' ActiveWindow.SelectedSheets.PrintOut
End If
End If
r = r + 1
Loop
'MsgBox (line1)
End With
Sheets("対象者名簿").Select
Application.ScreenUpdating = True
End Sub
テストしてみましょう。

対象者を2名選択しました。・・印刷ボタンをクリックします。

次郎さんが印刷されました。

五郎さんは、実績データがないのでメッセージを表示します。
対象者2名。見事印刷されました。
これで98%完成でしょうか。
3日の仕事が5分できるという理想をもって挑戦してみましたが
びっくりするほど、ぴったり、はまったプログラムでした。
このように、時短が図れる業務はいくらでもあります。
見た目カッコよくなくてもいいんです。(本物はそれなりに仕上がってますが
)
目的は、効率化と使いやすさ。
細かい要望が、まだあるようなので応えていきたいと思います。
では
昨日は、「実績報告書」を一気に印刷する処理について書きましたが、
今日は、対象者を選択して印刷する方法を考えてみたいと思います。
対象者の選択には、チェックボックスを使います。
以前書いた記事を参考にしてみましょう。
2013/01/22
こんな感じでしょうか。

A列のセルにチェックボックスとのリンクを行い、
結果が「True」なら印刷対象、「False」ならスルーの
分岐処理を入れます。
昨日のプログラムに赤色の部分を追加します。
Sub 印刷()
Application.ScreenUpdating = False
Err = 0 '実績データない時の判定に使う
r = 8 '開始行
With Worksheets("対象者名簿")
Do Until .Range("d" & r).Value = ""
If .Range("a" & r) = True Then '印刷対象の判定
Call 印刷編集(r)
If Err = 0 Then
Worksheets("実績報告書").Select
ActiveWindow.SelectedSheets.PrintPreview
' ActiveWindow.SelectedSheets.PrintOut
End If
End If
r = r + 1
Loop
'MsgBox (line1)
End With
Sheets("対象者名簿").Select
Application.ScreenUpdating = True
End Sub
テストしてみましょう。

対象者を2名選択しました。・・印刷ボタンをクリックします。

次郎さんが印刷されました。

五郎さんは、実績データがないのでメッセージを表示します。
対象者2名。見事印刷されました。
これで98%完成でしょうか。
3日の仕事が5分できるという理想をもって挑戦してみましたが
びっくりするほど、ぴったり、はまったプログラムでした。
このように、時短が図れる業務はいくらでもあります。
見た目カッコよくなくてもいいんです。(本物はそれなりに仕上がってますが

目的は、効率化と使いやすさ。
細かい要望が、まだあるようなので応えていきたいと思います。
では

Posted by ミール at 18:56│Comments(0)
│VBA