|
こんにちは。かみちゃん です。
>Sheet1には、横方向に日付けがあり、縦方向に車の番号が入っています(約100台)。TEXTBOX1には日付けのみの入力、TEXTBOX2には車の番号、TEXTBOX3には
>使った燃料を入力して、TEXTBOX1に入力した時点で、該当する日付けの列だけ
>アクティブにして、TEXTBOX2に入力したときに該当する車の番号のセルをアクティブにし、TEXTBOX3に入力すると内容がそのセルに反映され、最後にコマンドボタンを押すとその日の使用燃料のトータルを表示する。
同様の集計作業を仕事でしていますが、コマンドボタンを押したら入力ではなく、
TextBox3に入力したら自動入力するのですか?
まずは、コマンドボタンを押したら、TextBox1の日付の検索と、TextBox2の車番の
検索をして、TextBox3の使用燃料を書き込む列と行の位置を決めることからしませんか?
以下は、そのコードです。
こちらでサンプルファイルを作ってみて、Excel2002 SP3 で動作確認済みです。
Private Sub CommandButton1_Click()
Dim MatchC As Integer
Dim MatchR As Integer
MatchC = 0
On Error Resume Next
'日付の検索
MatchC = Application.Match(CLng(DateValue(Me.TextBox1.Value)), Rows(1).Cells, 0)
'車番の検索
MatchR = Application.Match(Me.TextBox2.Value, Columns(1).Cells, 0)
On Error GoTo 0
If MatchC <> 0 And MatchR <> 0 Then
Cells(MatchR, MatchC).Value = Me.TextBox3.Value
Else
MsgBox "日付または車番が存在しません"
End If
End Sub
なお、エラー処理は、ほとんどしていません。
TextBox1の日付は、1/2や2005/1/2などと入力してください。
|
|