• ベストアンサー

マクロでタイムレコーダーを作りたいのですが・・

マクロを使ってタイムレコーダーを作っています (マクロの勉強用です) ユーザーフォームで社員コードを入力し、出社をクリックすると エクセルシートに記録されるようにしたいのですが、どのように書けばいいか わかりません。 フォームにテキストボックスを作り、下に出社ボタンを作りました。 テキストボックスに数字を入力し、出社ボタンを押すというのが手順 なのですが、 社員コードから「どこに出社時刻を入力すればよいか」を判断させ、 ボタンを押した時刻を入力できるようにしたいです。 手順として、社員コードを入力し、出社ボタンを押すと、エクセルシートを 検索し、合致する社員コードを見つけ、見つかったらそこの列の今日の日付の 部分に時刻を入力・・となるのかな?と思うのですが。。 はっきりいってさっぱりです。。ご存知の方、ご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

例データ Sheet1 A1:D6 社員名 社員番号 2005/10/1 2005/10/2 大山 1 小山 2 植山 3 小阪 4 中坂 6 なおE1より右に日付をオートフィルする。今日は10月13日なので 10月13日以上まで用意してテストすること。 Sheet2 テキストボックス1個 コマンドボタン1こ貼り付ける。 フォームにはりつけるのも1つの方法。 コマンドボタンをダブルクリックして出てくる Private Sub CommandButton1_Click() End Sub の間に Private Sub CommandButton1_Click() sc = TextBox1.Text i = Worksheets("Sheet1").Range("B1:B6").Find(What:=sc).Row j = Worksheets("Sheet1").Range("C1:z1").Find(What:=Date).Column MsgBox Worksheets("Sheet1").Cells(i, 1) & " 出勤 ・ 時刻 " & Time Worksheets("Sheet1").Cells(i, j) = Time End Subを貼り付ける。 テキストボックスに職員番号を入れて、コマンドボタンをクリックすると 職員の行、日付の列のクロスするセルに、時刻が入ります。 見つからない職員番号を入れたときの処理は、略します。

その他の回答 (1)

  • bakerata
  • ベストアンサー率0% (0/1)
回答No.1

こんな感じじゃダメですか? Cells(1, 1) = Now() セル位置は別に求めて下さいね。