返回列表 上一主題 發帖

[發問] 想利用excel及圖書館哪種條碼機紀錄學生到學校時間

回復 1# kkman123


    那也要看你的掃描功能有沒有辦法跟EXCEL連動八= ="
例如 "逼" 一下    工作頁的A1會產生編號 這樣的話 才有辦法設計哦@@"

也可能是我太淺了  請其他大大加以回覆......

TOP

回復 3# kkman123

請先把EXCEL照我圖這樣打
   


第一步---- 使用鍵盤 ALT + F11 打開VBA編輯  在左邊找ThisWorkbook 點兩下打開右側視窗並貼上以下
  1. Private Sub Workbook_Open()
  2. [b2] = Format(Date, "yyyy/mm/dd")
  3. End Sub
複製代碼
第二步---- 在ThisWorkbooks那一排點選右鍵 → 插入 → 模組
並把以下貼進去
  1. Option Explicit
  2. Sub 逼()
  3.     Dim 日期 As Range, 學號 As Range
  4.     With [A3] '設定哪行開始    '請照圖來做EXCEL
  5.         Set 日期 = Range(.Cells, .Cells.End(xlToRight)).Find([b1], LookAT:=xlWhole)
  6.         Set 學號 = Range(.Cells, .Cells.End(xlDown)).Find([[color=Red]A1[/color]])   '紅色處為逼之後產生的位置  預設為A1
  7.         Cells(學號.Row, 日期.Column) = Time
  8.     End With
  9. End Sub
複製代碼
第三步----
在EXCEL內新增一個圖案 (隨便)
點選圖案右鍵 →指定巨集   → 選擇『 逼 』確定  

以後就逼完就按圖案   應該就快多了 至少不用找日期找學號在打入時間

原本想幫妳做逼一下就直接執行  但 我試一直出現錯誤 請其他大大幫你解決這一部分
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 7# kkman123


Set 學號 = Range(.Cells, .Cells.End(xlDown)).Find([A1])

改為

Set 學號 = Range(.Cells, .Cells.End(xlDown)).Find([A1])
抱歉 原先因為想讓它變紅色讓你知道A1是可以更動的 結果沒想到把網頁的設置也用進去了
請修改後再測試!
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 7# kkman123


    發現為什麼我不能使用觸發了= =因為要再要觸發的工作頁裡設定
   看你的表是做在哪個工作表  一樣打開VBA設置  這次不要打開THISWORKBOOK 這次點選你檔案的地方 例如 : 工作表1

  一樣打開 貼入以下程式   即可達成 逼一下就自動帶入程式  在逼一次就在執行新的學號
  1. Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Address = "$A$1" Then Call 逼
  3. End Sub
複製代碼
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

本帖最後由 die78325 於 2012-11-28 18:40 編輯

回復 10# kkman123


      你現在是直接觸發A1才錯誤
還是點選按鈕會錯誤  請重複我剛回答的部分再檢查一次
EXCEL都要照我的做  等你了解整個程式碼後再自行修改位置    我現在測試都正常哦 !

[A3]開始打   學號  [B3]  11/27  [C3]  11/28
觸發的程式要打在你目前有資料的那個工作頁   看你下面是 工作頁1還是工作頁2  在ALT +F11 那邊要選擇你的工作頁貼入觸發條件
或者先把觸發刪除 先用按鈕的 可以之後再去測試觸發的 !
B3 C3 D3 E3 F3這些日期欄位 都要設定成
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 12# kkman123


    B1 我有幫你設定程式了 每次打開會自動打入今天的日期 所以你只要今天上完課就關掉
明天一早來打開就可以直接使用感應器來逼了  只要你下面的表格先打好以後的日期就可以了 ^^
我也才剛學一兩個禮拜.....希望學更多資訊可以幫助更多有需要的人^^ 也要請其他大大多教教我了
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 15# Hsieh


    果然高手就是高手  ~"~
我還要打兩三段
大大只要打一段就可以達到目的了......
也感謝大大讓我又多學了一課
r = Application.Match(CDbl(Date), Columns("A"), 0)
k = Application.Match(Target, Rows(1), 0)
這兩行不是很懂  大大可以解釋給我聽嗎@@?
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

本帖最後由 die78325 於 2012-11-29 11:36 編輯

回復 20# kkman123


發現您的問題了
你在VBA裡面  Thisworkbook內的程式要改為
b1  改為 d1  因為你日期欄位變動了
  1. Private Sub Workbook_Open()
  2. [d1] = Format(Date, "yyyy/mm/dd")
  3. End Sub
複製代碼
D1日期欄位不用打入公式  就把上面改好就好!
還有 F欄你設公式  不會每秒更動 除非一直重新計算   ((F欄其實是多餘的))  
因為我VBA友幫你設定打入目前時間
改完記得把你的D3改為11/29 不然你表內沒有11/29的 會錯誤 所以 如果日期不改  明天使用即可正常!
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 22# kkman123

這邊是開啟就會自動指定A1
Private Sub Workbook_Open()
[d1] = Format(Date, "yyyy/mm/dd")
[A1].Select
End Sub

下面這些是多了 逼完之後自動回到A1 所以可以一直 逼 逼 逼

Option Explicit
Sub 逼()
    Dim 日期 As Range, 學號 As Range
    With [A3] '設定哪行開始    '請照圖來做EXCEL
        Set 日期 = Range(.Cells, .Cells.End(xlToRight)).Find([d1], LookAT:=xlWhole)
        Set 學號 = Range(.Cells, .Cells.End(xlDown)).Find([A1])   '紅色處為逼之後產生的位置  預設為A1
        Cells(學號.Row, 日期.Column) = Time
    End With
[A1].Select
End Sub
以上紅色都是要新增進去的   
其實H大大寫的程式 有一個重要的部分   如果你如果不在A1的地方逼 就會說位置錯誤 幫你回歸到A1
但如果你現在用的很OK 先暫時先這樣用八   如果你有特別需求 在幫你改@@"
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題