當前位置:法律諮詢服務網 - 企業資訊 - 如何通過EXCEL制作壹個錄入和采集系統?

如何通過EXCEL制作壹個錄入和采集系統?

首先,數據采集系統功能輸入、保存、查詢、清空、修改。

二、兩個接口?

1.數據錄入接口:前臺功能使用該接口實現“錄入、保存、查詢、清除、修改”;

2.數據存儲界面:後臺保存數據;輸入接口:

第三,實現方法是1。保存函數Sub Save()'?

保存數據馬可,小猴出品,時間2013-9-5 '?

Dimr1,R2,R3作為帶表的範圍(“數據存儲”)?

設置r2 =。範圍(" a2 ",[a100000]。End(xlUp))結束於?

帶表(“數據錄入”)?設置r1 =。Range("c4:e4,d6:l39 ")?

If isempty(。range ("C4 "))或isempty(。range ("E4")) then '或isempty(。range ("B7: b41 "))新增部門不為空。不成功的MsgBox("編碼和名稱為空,不能保存!") ?不然呢?

設置r3 = r2。查找(。Cells(4,3),,,1)如果不是r3那就什麽都不是?

MsgBox("該代碼已經存在,無法保存。如需修改此信息,請點擊“修改前查詢”)

不然呢?

工作表(“數據存儲”)。行(“2: 35”)。InsertShift: = xldown?

。範圍(" c6:l39 ")。復制?復制數據錄入表體信息?

工作表(“數據存儲”)。範圍(“C2: L2”)。paste special paste:= xlpastevalues?。範圍(“c4”)。復制?復制數據輸入代碼?

工作表(“數據存儲”)。範圍(" A2: A35 ")。paste special paste:= xlpastevalues?。範圍(“e4”)。復制?復制數據條目的名稱?

工作表(“數據存儲”)。範圍(“B2: B35”)。paste special paste:= xlpastevalues?r1。ClearContents?保存數據後,清空錄入界面?

。範圍(“c4”)。如果選擇結束?End If End With End Sub

2.查詢函數Sub Query()'?

查詢篩選宏,小猴出品,時間2013-9-5 ' '?

Dimerow作為整數dim r1,R2作為帶工作表的範圍(“數據輸入”)?設置r1 =。Range("d6:l39 ")?設置r2 =。Range("a6:b39 ")?

Erow = Sheets(“數據存儲”)。[a100000]。結束(xlUp)。排

r1。清除內容

對於中的每個ce。[a2:x2]?

如果ce & lt& gt”“那就ce吧。Value = " * " & ampce & amp"*" ? '添加通配符*實現模糊查詢。

下壹個?

If IsEmpty(。Range("c4 "))或IsEmpty(。Range("e4 "))然後

或者IsEmpty(。Range("b7:b41 "))添加部門不為空,失敗。

MsgBox("編碼和名稱為空,無法查詢!") ?不然呢?

工作表(“數據存儲”)。range(" a 1:l " &;Erow)。AdvancedFilter操作:=xlFilterCopy,CriteriaRange:= _。[c3:e4],CopyToRange:=。[A5:l5],唯壹:=假?

r2。邊框(xlDiagonalDown)。LineStyle = xlNone r2。邊框(xlDiagonalUp)。LineStyle = xlNone

r2。邊框(xlEdgeLeft)。LineStyle = xlNone

r2。邊框(xlEdgeTop)。LineStyle = xlNone

r2。邊框(xlEdgeBottom)。LineStyle = xlNone

r2。邊框(xlEdgeRight)。LineStyle = xlNone r2。邊框(xlInsideVertical)。LineStyle = xlNone

r2。邊框(xlInsideHorizontal)。LineStyle = xlNone

r2。numberformatlocial = ";;;"

對於中的每個ce。[a2:x2]?

如果ce & lt& gt”“那就ce吧。Value = Mid(ce,2,Len(ce) - 2)?'取消“*”通配符?

下壹個?End If End With End Sub

3.Update Sub Update()'?

更新宏,小猴出品,時間2013-9-5?

Dim arr,d作賓語?

Dim r As範圍?

Dim lr & amp,我& amp,j%?

用Sheets ("data entry ")'查詢來修改工作表數據區並將其寫入數組arr?

arr =。範圍(" A7 :D " & amp;。範圍(" A65536 ")。結束(xlUp)。排)?

arr =。Range("a6:l39 ")?

設r =。Range("d6:l39 ")?

以...結尾。

Set d = createobject("腳本。dictionary ")'定義了壹個字典對象?

For I = 1來逐行綁定(arr)'嗎?

If Len(arr(i,2))& lt;& gt0然後‘排出‘總’行,也就是名字服務數據?

如果不存在d.exists(arr(i,1)& amp;arr(i,2)和amparr(i,3))然後d(arr(i,1)& amp;arr(i,2)和amparr(i,3)) = arr(i,4)& amp;Chr(9)和amparr(i,5) _?

& ampChr(9)和amparr(i,6)和ampChr(9)和amparr(i,7)和ampChr(9)和amparr(i,8)和ampChr(9)和amparr(i,9)和ampChr(9)和amparr(i,10)及ampChr(9)和amparr(i,11)& amp;Chr(9)和amparr(i,12)

最後壹句:如果編碼和名稱連接字符串的字典不存在(第壹次出現,這裏的判斷可能是多余的),則將該字符串添加到字典鍵值中,後續的相關屬性字段通過tab連接添加到字典條目中。

結束如果?下壹個?

?帶表(“數據存儲”)?

?Lr =。範圍(" a100000 ")。結束(xlup)。row '數據存儲工作表數據行?

。範圍(“C2 :D”& amp;LR)。特殊單元格(xlcelltypeconstants,23)。“清除內容”清除沒有公式單元格的C列和D列的值?

arr =。range(" A2:l " & amp;Lr)'數據存儲工作表數據區寫數組arr?

For I = 1來逐行綁定(arr)'嗎?

如果d .存在(arr(i,1)& amp;arr(i,2)和ampArr (I,3))如果編碼和名稱連接字符串的字典存在,它存在於Sheet2中。

對於j = 4到12 'D,e,f...壹列壹列的?

如果不是細胞(I,j)。HasFormula Then Cells(i,j) = Split(d(arr(i,1)amp;arr(i,2)),Chr(9))(j - 3)

如果該單元格不包含公式,則將對應於Sheet2的數據寫入該單元格。

。細胞(我?+?1,?j)?=?Split(d(arr(i,1)?& amp?arr(我,?2)?& amp?arr(我,?3)),?Chr(9))(j?-?4)?

下壹個?

結束?如果?

下壹個?

結束?用什麽?

r.ClearContents?

床單(“

數據輸入

").細胞(4,?3).選擇?

MsgBox?("

數據已更新。要查看更新內容,請點擊按鈕進行查詢”)。

  • 上一篇:如何考察壹家東莞裝修公司?
  • 下一篇:壹個集團有哪些部門(組織架構)
  • copyright 2024法律諮詢服務網