- ベストアンサー
VBAで効率化!勤務管理の自動化プログラムの作成方法
- VBAを使用して勤務管理の作業を効率化する方法を教えてください。
- 勤務指定の一部には日勤と中勤の出勤日と非番の休日があります。4日連続勤務には赤色の下線、5日以上連続勤務には赤色の二重下線を引きたいです。
- 手作業では負担が大きいため、マクロを用いたプログラムの作成方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下で試してみてください。 Sub Test() Dim mRow As Long, mCol As Long Dim mCount As Long Application.ScreenUpdating = False For mRow = 2 To Cells(Rows.Count, "A").End(xlUp).Row mCount = 0 For mCol = Columns("B:B").Column To Columns("H:H").Column If Cells(mRow, mCol).Value <> "非番" Then mCount = mCount + 1 If mCount = 4 Then With Cells(mRow, mCol - 3).Resize(1, 4).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Color = -16776961 End With ElseIf mCount = 5 Then With Cells(mRow, mCol - 4).Resize(1, 5).Borders(xlEdgeBottom) .LineStyle = xlDouble .Color = -16776961 End With End If Else mCount = 0 End If Next Next Application.ScreenUpdating = True End Sub
その他の回答 (1)
- bardfish
- ベストアンサー率28% (5029/17766)
Excelだと単純に面倒くさいのでVisual Studio とデータベースを使用して一つのシステムを作成します。 Excelのシートのように縦と横の両方に広がりがあるデータというのは【非常に】扱いづらい。だからデータベースのように1行が持つ項目が固定で行数が延々と続くようなデータ構造が扱いやすい。 と言うことで、データの持ち方から改めて考え直した方が結果的に効率のよいものがですあがると思います。 >といった感じの作業をマクロで自動化するプログラムを教えて下さい! 残念ながら、実際に動作するものを提供するためにはこちらも時間がありません。だから考え方だけを教える程度になってしまいます。 あとはご自分で知恵を絞ってください。 こういうのはアイデア次第でどうにでもなるんです。マクロを作らなくても表の作り方次第で100人程度なら手間に感じないようにすることも不可能ではありません。 同期は同じでも取り組む姿勢が曖昧だったり場当たり的だと後で困ることになります。今回のようにね。 はじめから手間を考慮した設計で作り込まれていれば後が楽になります。 楽な方向にばかり進んでいると後で絶対後悔することになります。