ここから本文です

ExcelのVBAについて質問です。 現在、入退室のVBAを作成しているのですが、 1...

xsp********さん

2019/6/614:41:34

ExcelのVBAについて質問です。

現在、入退室のVBAを作成しているのですが、
1回目の入室時間・退室時間は記録されます。
2回目の入室時間も記録されますが、
2回目以降の退出時間がうまく記録されません。
入室時間が記録

されず、どんどん入室時間の行が増えていきます。

userformにテキストボックスを作って、
バーコードリーダーで読ませる仕組みです。


A列に個人ID番号・C列に入室時間・E列に退室時間・F列にE列に何も文字列が無ければ「0」を入力があれば「1」が入るよう関数を入れています。

いろいろ模索しているのですが、何かいい解決策があればご教授お願いします。

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Dim myRange As Range
Dim keyword As Long
Dim myRange2 As String
Dim myObj As Range
Dim LastRow As Long
LastRow = Range("Sheet3!A" & Rows.Count).End(xlUp).Row

Set myRange = Range("A:A")
keyword = TextBox1.Value
Set myObj = myRange.Find(keyword, LookAt:=xlWhole)

If myObj Is Nothing Then
Range("Sheet3!A" & LastRow 1).Value = TextBox1.Value
TextBox1.Value = ""
Range("Sheet3!C" & LastRow 1).Value = Now()

ElseIf Range(myObj.Address).Offset(0, 5).Value = 0 Then
Range(myObj.Address).Offset(0, 4).Value = Now()
TextBox1.Value = ""

Else
Range("Sheet3!A" & LastRow 1).Value = TextBox1.Value
TextBox1.Value = ""
Range("Sheet3!C" & LastRow 1).Value = Now()
End If
End If

End Sub


https://i.imgur.com/wEqnHOy.jpg
https://i.imgur.com/1d4IYh1.jpg

補足Range("Sheet3!A" & LastRow + 1)の部分の+がなぜか反映されていませんでした。

閲覧数:
22
回答数:
1

違反報告

ベストアンサーに選ばれた回答

tok********さん

2019/6/614:52:20

記述ミスが多いです。
Range("Sheet3!A" & LastRow 1)
を含む行、VBEで赤くなっていませんか?
たとえば最終行が10だとすると、
Range(Sheet3!A10 1)
になりますよ。
Sheets("Sheet3").Range("A" & LastRow + 1)
という事をやりたいんでしょうか。

  • 質問者

    xsp********さん

    2019/6/615:23:16

    https://i.imgur.com/1d4IYh1.jpg
    を見て頂くと、
    ID:4の人の2回目の退出時間を入れたいのですが、
    現在のプログラムだと1行下の行に入室時間として記録されてしまいます。

    同じIDの人のバーコードを読んだ際に入室・退室を記録したいです。
    現状ですと、2回目以降、退出時間が記録されず、新規に入室時間になってしまいます。

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる