[算表] 辨認主索引複寫舊資料,不寫成新資料
軟體: Excel
版本: 2003
為了輸入方便,
將Excel設成兩個sheet:「輸入表單」、「主資料表」
由輸入表單查詢及輸入,將資料自動送進"主資料表"裡儲存。
撰寫程式碼如下:
==============================================================================
sub 轉寫新記錄 ()
Dim formSheet as worksheet, datasheet as worksheet, _
targetrange as range, i as long
Dim dataaddresslist(), newrecord as range, tmprecord as range
set formsheet=sheets("輸入表單")
set datasheet=sheets("主資料表")
dataaddresslist=Array("C4","C6","F6","C8","F8",...)
set targetrange=datasheet.range(""B"&rows.count).End(xlup).office(1)
For i = 0 to ubound(dataaddresslist)
targerange.offset(0,i).value=_
formsheet.range(dataaddresslist(i)).valus
Next
MsgBox"輸入完畢"
End Sub
==============================================================================
並在輸入表單設置「叫出資料」及「輸入」鍵,
由輸入鍵帶入上述程式,
當輸入C4欄(為輸入身份證字號),
可從"主資料表"叫出其它欄資料。
若主資料表原本就無該身份證字號的資料,
則等使用者輸入完畢,即成為一筆新資料。這部份是沒問題的。
但若在主資料表,原本就有符合身份證字號的資料時,會自動帶出資料
但當修了其中非C4欄的資料,再次按儲存時,
又會整筆成為新資料。
請問各位版大,
如何設定C4欄為不重覆唯一值,
若有身份證字號輸入時遇重覆時,則詢問是否覆寫?
而非直接存成新一筆資料。
程式碼該如何做修改呢?
希望大家看的懂我的問題,謝謝 >"<
※ 編輯: bbsfish 來自: 114.27.121.200 (08/08 01:53)
→
04/03 18:58,
7年前
, 1F
04/03 18:58, 1F
→
04/03 18:58,
7年前
, 2F
04/03 18:58, 2F
→
04/03 18:58,
7年前
, 3F
04/03 18:58, 3F
→
04/03 18:58,
7年前
, 4F
04/03 18:58, 4F
→
04/03 18:59,
7年前
, 5F
04/03 18:59, 5F
Office 近期熱門文章
PTT數位生活區 即時熱門文章