日々作業の中、作業現場は、日報という作業が存在すると思います。
日々行う作業ですので、一回作成すれば、メリットも大きくなります。
現在より、作業が楽になるようVBA、マクロで日報作成をしていきたいと思います。
個人日報と言うよりは、複数で使える日報にしてみます。
目次
1 マスター作成
2 マスターシートの作成
3 フォームを作成しましょう
4 入力シートを作成します。
5 フォームに項目のテキストを追加
6 入力ボタンへこのコードを入力する
1 マスター作成
まず、マスターを作成しましょう。
このサンプルでは、マスターシートに【コード】【氏名】【就業時間】を入力します。
★マスターから決まったデータを自動で入力できるようにする事により、毎日同じ数値
同じ項目といった面倒な作業から解放れます。
2 マスターシートの作成 シート名に【マスター】と名前を付けて下さい。
今回例では、コード、氏名、就業時間のみ予め展開出来る様にします。
3 フォームを作成しましょう
Visual Basic 画面を表示し、ユーザフォームの追加を行って下さい。
ユーザフォームに
ComboBox 1つ
TextBox 2つ
を配置し、それぞれに名前を付けて下さい。(別につけなくても良いです。識別の為にやります。)
例
ComboBox kohdo
TextBox name
TextBox jikan
ここでコードを入力する
**************************************************************
’ここでは、マスターシートからコードを選択するだけで氏名、就業時間をフォームに展開します。
Private Sub kohdo_Change()
Dim syoumijikan As String
Dim strkohdo As String
strkohdo = kohdo.Value
If strkohdo = “” Then Exit Sub
Set setcell = Worksheets(“マスター”).Range(“A2”)
cntA = 0
Do Until setcell.Value = strkohdo Or setcell.Value = “”
Set setcell = setcell.Offset(1, 0)
cntA = cntA + 1
Loop
If setcell.Value = “” Then
MsgBox “コードが見つかりません。” _
& “コードは一覧から選択してください!”, vbCritical, “作業手順!”
Exit Sub
End If
namae = setcell.Offset(0, 1).Value
jikan = setcell.Offset(0, 2).Value
End Sub
**************************************************************
’フォームを開いた時にマスターシートのコードをComboBox に表示します。
Private Sub UserForm_Initialize()
Me.kohdo.RowSource = Worksheets(“マスター”).Range(“A2:A35”).Address(External:=True)
End Sub
**************************************************************
これで、フォームを立ち上げ後、コードを選択すると、名前、就業時間が選択されます。
4 入力シートを作成します。
シート名を【日報】とし項目を1列に入力します。(必要な項目を入力して下さい)
ここでは、下記の内容にします。
コード 氏名 就業時間 除外内容 異常内容 除外時間 異常時間 事故時間 残業時間
5 フォームに項目のテキストを追加
Visual Basic 画面を表示し、項目の追加及びボタンの追加を行って下さい。
☆ TextBox 6つ追加
jyogainai
jyogainaiyou
jyogai
ijyou
jiko
zanngyou
上記の名前にしました。
☆ Button 1つ追加
入力
にしました。
6 入力ボタンへこのコードを入力する
*****************************************************************************************
Private Sub 入力_Click()
Dim stkohdo As Strin
Dim stnamae As String
Dim stjikan As String
Dim stjyogainai As String
Dim stjyogainaiyou As String
Dim stjyogai As String
Dim stijyou As String
Dim stjiko As String
Dim stzanngyou As String
stkohdo = kohdo.Value
stnamae = namae.Value
stjikan = jikan.Value
stjyogainai = jyogainai.Value
stjyogainaiyou = jyogainaiyou.Value
stjyogai = jyogai.Value
stijyou = ijyou.Value
stjiko = jiko.Value
stzanngyou = zanngyou.Value
‘入力位置の検索
Sheets(“日報”).Select
Range(“A65500”).Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = stkohdo
ActiveCell.Offset(0, 1).Value = stnamae
ActiveCell.Offset(0, 2).Value = stjikan
ActiveCell.Offset(0, 3).Value = stjyogainai
ActiveCell.Offset(0, 4).Value = stjyogainaiyou
ActiveCell.Offset(0, 5).Value = stjyogai
ActiveCell.Offset(0, 6).Value = stijyou
ActiveCell.Offset(0, 7).Value = stjiko
ActiveCell.Offset(0, 8).Value = stzanngyou
End Sub
*****************************************************************************************
日報シートへ入力されます。後は、シート上にボタンを配置するか、イベント等で、フォームを表示させてやれば、超簡単な日報が、
完成します。
これをもっと使いやすい様カスタマイズして下さい!
以上日報作成でした。
良いですね