|
▼VBA勉強中です さんまたは ▼マクロ さん:
> TextBox76: 累計時間 (TextBox77 + TextBox78 + TextBox82)
> TextBox50 -49 = TextBox78(小計時間)
> TextBox54 -53 = TextBox77(小計時間)
> TextBox57 -56 = TextBox82(小計時間)
>
> TextBox70、71、72(DATE:日付)
> TextBox52、55、58 (コメント)
> になります。
> CommandButton36_Click()はワークシート(DATA)に飛ばす
'----------- 以下のようにまとめてみました
・転記は 日付と時間と コメントの3種類ある。
・これらは 有効なデータかどうかのチェックの仕方を変えなければいけない。
・同じパターンで列番号がちがうものは、共通プロシージャを作っておいて
そこを呼び出すようにする
Private Sub CommandButton36_Click()
Dim lRow As Long
Dim ss As String
Dim Number As Long
Number = TextBox3.Text
Dateの転記 TextBox70, "AL" '<-- 正しい 転記先「列」名に修正してください
Dateの転記 TextBox71, "AP"
Dateの転記 TextBox72, "BA" '<-- 正しい 転記先「列」名に修正してください
Timeの転記 TextBox49, "Q" 't1 正しい 転記先「列」名に修正してください
Timeの転記 TextBox50, "R" 't2 正しい 転記先「列」名に修正してください
Timeの転記 TextBox53, "S" 't3
Timeの転記 TextBox54, "T" 't4 正しい 転記先「列」名に修正してください
Timeの転記 TextBox56, "U" 't5 正しい 転記先「列」名に修正してください
Timeの転記 TextBox57, "V" 't6 正しい 転記先「列」名に修正してください
Commentの転記 TextBox52, "" '<-- 転記先列名を記入してください
Commentの転記 TextBox55, "" '<-- 転記先列名を記入
Commentの転記 TextBox58, "" '<-- 転記先列名を記入
End Sub
Private Sub Dateの転記(ByVal Tbox As MSForms.TextBox, 列 As String)
Dim ss As String
ss = Tbox.Text
If Len(ss) = 0 Then Exit Sub
If IsDate(ss) Then '有効な日付データか?
Worksheets("DATA").Cells(Row.Count, 列).End(xlUp).Offset(1).Value = ss
End If
End Sub
Private Sub Timeの転記(ByVal Tbox As MSForms.TextBox, 列 As String)
Dim ss As String
ss = Tbox.Text
If Len(ss) = 0 Then Exit Sub
If IsDate(ss) Then
If TimeValue(ss) > 0 Then '時間データとして有効な場合、転記
Worksheets("DATA").Cells(Row.Count, 列).End(xlUp).Offset(1).Value = ss
End If
End If
End Sub
Private Sub Commentの転記(ByVal Tbox As MSForms.TextBox, 列 As String)
Dim ss As String
ss = Tbox.Text
If Len(ss) = 0 Then Exit Sub
Worksheets("DATA").Cells(Row.Count, 列).End(xlUp).Offset(1).Value = ss
End Sub
|
|