999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VBA的ActiveX控件多關鍵字查詢技術

2020-06-03 17:46:11蔣正茂
計算機時代 2020年4期
關鍵詞:數據處理

蔣正茂

摘? 要: 應用辦公系統時,常常需要在其他Excel文檔中獲取數據填寫在新報表中。為了高效和準確地完成任務,基于Excel辦公軟件的普及化現狀,提出基于VBA的ActiveX控件表達和Worksheet事件觸發實現多關鍵字查詢技術,實現從其他Excel工作表中獲取數據并填寫到新報表的工作。

關鍵詞: VBA; 多關鍵字; 數據處理; ActiveX

中圖分類號:TP3? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2020)04-04-03

VBA-based ActiveX control multi-keyword query technology

Jiang Zhengmao

(School of mechanical engineering Sichuan University, Chengdu, Sichuan 610065, China)

Abstract: When using the office system, it is often necessary to obtain data from other Excel documents and fill in the new report form. In order to complete the task efficiently and accurately, and in view of the popularization of Excel office software, this paper proposes to realize multi-keyword query technology by using VBA ActiveX control and worksheet event trigger, so as to implement the work of obtaining data from other Excel worksheets and filling in the new report form.

Key words: VBA; multi-keyword; data processing; ActiveX

0 引言

2019年2月中共中央、國務院印發了《中國教育現代化2035》,為我國教育發展描繪了遠景藍圖。其中提到要提升一流人才培養與創新能力。加強創新人才特別是拔尖創新型人才的培養,加大應用型、復合型、技術技能型人才培養比重[1]。衡量一所學校培養創新能力,統計學生參加國家認可的競賽是一個重要指標,為此需要填寫【創新學生競賽獲獎名單】,名單中的學生、指導老師、大賽名稱等信息來源于保存在其他Excel文檔中的歷史數據或標準數據集,換句話說,不是手工填寫,是從其他報表中提取已有數據進行填寫。

1 VBA關鍵技術

微軟公司針對Microsoft Office用戶推出了易學易用的VBA開發工具[2],只需在安裝Microsoft office時選中開發工具即可使用。使用VBA能夠幫助辦公人員從大量重復的統計、計算、分析工作中解脫出來,還可以完成各種復雜的、交互式的管理控制系統[5]。

ActiveX控件表達是Excel的一種用戶界面設計工具。用戶界面就像電視機的遙控板,是用戶與程序進行互動的窗口[2]。Excel中用兩種類型控件設計用戶界面:窗體控件和ActiveX控件。ActiveX控件擁有很多屬性和事件,可以在工作表和用戶窗體中使用。如果在編輯數據的同時還要進行其他操作,那么使用ActiveX控件會靈活很多。

Worksheet事件是Excel的一種事件。Excel中的事件就是能被Excel對象識別的操作。Worksheet中文意思是工作表,Worksheet事件就是工作表中的對象能識別的操作。VBA編程環境是面向對象的編程環境,比如工作表中的單元格是其中一個對象,對單元格的文字輸入是一個事件,該事件可以觸發一段程序塊的運行,程序塊就是設計者需要編寫的劇本。如是利用面向對象原理就可以在Excel工作表中,讓指定數據,按照事先編輯好的邏輯進行操作運行。

2 實現要求

創新學生競賽獲獎名單表格如表1所示。

【創新學生競賽獲獎名單】中的授獎單位和大賽名稱來自于國家認可學科競賽項目名錄。填寫該信息時,操作者可根據自己習慣,在【授獎單位】或【大賽名稱】任意兩個空白單元格中輸入字詞,計算機即可動態地將符合條件的競賽條目顯示在待選列表框中,以供選擇。操作者用鼠標選中目標大賽條目后,計算機自動將信息填寫到【授獎單位】和【大賽名稱】單元格中。

綜上所述,系統功能有如下特點。①柔性化。根據輸入者偏好,實現任意關鍵字查詢數據。②模糊化。輸入者只需輸入部分關鍵字,實現查詢數據。③關聯性。在待選框中選中目標數據后,實現完整信息自動填入多個空白單元格。文章介紹基于VBA的ActiveX控件技術實現多關鍵字模糊化查詢,將查詢信息完整填寫在多個空白單元格中。

3 設計思路

中學創新基地建設評估體系是一種信息管理系統,采用本地Excel管理數據模式,是根據每所學校數據的獨立性和工作人員的習慣選定的最佳模式。

評估系統設計成多張Excel文檔組成的套表結構,其一,方便協同辦公,其二,保證數據的同一性和有效性。負責錄入教師打開名稱為【每年創新學生競賽獲獎名單.xlsm】文檔,直接在報表空白單元格內填寫信息。套表文檔之間相互關聯,比如【創新學生競賽獲獎名單】中的教師信息就來自于【本校創新培養教師名單.xlsm】和【校外創新培養教師名單.xlsm】工作簿,該工作簿記錄學校負責創新培養的教師信息,這樣保證教師信息的同一性,而不會出現一名教師多個姓名情況。【創新學生競賽獲獎名單】中的授獎單位和大賽名稱來源于基礎數據表中的【競賽名稱】工作表,這樣保證競賽獲獎信息的有效性。同一性和有效性是評估系統科學性的保障。

ActiveX控件中的文本控件TextBox和列表控件ListBox實現對目標對象的捕獲和數據呈現。數據輸入時,光標激活空白單元格(文本控件TextBox動態跟蹤并覆蓋活動單元格,輸入關鍵字由動態跟隨的TextBox獲取),數據查詢功能開始,隨著輸入關鍵字的不同,待選數據框中的數據列表信息內容跟隨變化(待選數據框由ListBox呈現,ListBox設計動態跟隨活動單元格,且隨輸入關鍵字不同隨時更新待選數據列表)。ActiveX控件設計成活動單元格跟隨功能。

4 功能實現

ActiveX控件動態跟隨功能實現。光標選中空白單元格進行輸入操作由Worksheet的SelectionChange事件觸發,實現代碼如下:

With Me.TextBox1? ?'設置文本框

.Visible=True

.Top=Target.Top

.Left=Target.Left

.Width=Target.Width

.Height=Target.Height

.Activate

End With

With Me.ListBox1? ? '設置列表框

.Visible=True

.Top=Target.Offset(1).Top

.Left=Target.Left

.Width=350

.Height=Target.Height*9

End With

上面代碼實現一個與活動單元格大小相同,位置重合的文本框,一個與活動單元格左對齊,并懸掛在單元格下方的列表框。

活動單元格中輸入關鍵字,列表框中顯示相應待選項。列表框中顯示待選項由TextBox的KeyUp事件觸發。實現代碼如下:

Me.ListBox1.Clear

myStr=Me.TextBox1.Text

maxRow=21

ReDim Arr1(1 To maxRow, 1 To 2)

arr2=Array("授獎單位", "大賽名稱")

j=j+1

Arr1(j,1)=arr2(0)

Arr1(j,2)=arr2(1)

For i=1 To UBound(Arrsj)

ai=InStr(Arrsj(i, MyCol), myStr)

'MyCol為數據有效性待選列號,實現模糊查詢

If ai=1 Then

j=j+1

Arr1(j,1)=Arrsj(i,1)

Arr1(j,2)=Arrsj(i,2)

If j>maxRow-1 Then Exit For? '搜到給定個數停止

End If

Next i

If j

For i=1 To UBound(Arrsj)

ai=InStr(Arrsj(i, MyCol), myStr)

If ai>1 Then

j=j+1

Arr1(j,1)=Arrsj(i,1)

Arr1(j,2)=Arrsj(i, 2)

If j>maxRow-1 Then Exit For '搜到給定個數停止

End If

Next i

End If

With Me.ListBox1

.Clear

.List=Arr1? '二維數組送列表框。

End With

實現效果如圖1所示。

【授獎單位】和【大賽名稱】具有關聯性數據的填寫。關聯信息的整體填寫,由ListBox的DblClick事件觸發。代碼如下:

With sh.ListBox1

ActiveCell.Offset(, 1 - MyCol).Value=.List(.ListIndex, 0)

ActiveCell.Offset(, 2 - MyCol).Value=.List(.ListIndex, 1)

End With

上面代碼實現,無論是通過【授獎單位】還是【大賽名稱】進行查詢,操作者選中目標信息后,整條信息將完整地填入到【授獎單位】和【大賽名稱】多個關聯空白單元格中。

5 結束語

利用當前常用的辦公軟件Excel中的VBA技術,提出了一種任意關鍵字模糊查詢并將整條信息完整地填入多個關聯空白單元格技術。這一技術被運用到信息采集系統中,對于數據的采集收到了非常好的效果,不僅提高了數據采集效率,而且使采集的數據更加標準規范。這種方法對于類似的數據信息系統均實用,能很好提高數據管理效率。

參考文獻(References):

[1] 劉曉星.廣州多所中學發力拔尖創新人才培養對接高校欲成“早期孵化器”[J].廣州日報,2019.3.6.

[2] Excel Home.別怕,Excel VBA其實很簡單[M].電子郵件出版社,2012.

[3] 李小遐.Excel VBA 在辦公自動化中的應用[M].科技論壇,2014.22:105-106

[4] 韋偉.Excel中利用VBA實現課表數據轉置[J].黃岡職業技術學院學報,2019.21(3):99-101

[5] 韋立梅.使用Excel VBA管理工資資料[J].電腦與電信,2013.6:70-75

猜你喜歡
數據處理
驗證動量守恒定律實驗數據處理初探
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
ADS-B數據處理中心的設計與實現
電子測試(2018年4期)2018-05-09 07:28:12
MATLAB在化學工程與工藝實驗數據處理中的應用
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
大數據處理中基于熱感知的能源冷卻技術
計算機工程(2015年4期)2015-07-05 08:28:04
Matlab在密立根油滴實驗數據處理中的應用
數據處理能力在求職中起關鍵作用
我國首個“突發事件基礎數據處理標準”發布
主站蜘蛛池模板: 久久精品一品道久久精品| 午夜福利免费视频| 久久综合亚洲色一区二区三区| 国产成人精品综合| 亚洲国产精品美女| 最新国产精品第1页| 午夜日b视频| 亚洲福利视频网址| 精品综合久久久久久97| 国内精品91| 精品视频91| 色亚洲激情综合精品无码视频| 日韩欧美中文字幕一本| 免费高清毛片| 久视频免费精品6| 伊在人亞洲香蕉精品區| 呦视频在线一区二区三区| 亚洲首页在线观看| 伊伊人成亚洲综合人网7777| 色综合成人| 欧美成在线视频| 欧美日韩高清在线| 91口爆吞精国产对白第三集| 亚洲一区第一页| 亚洲国产系列| 国产亚洲第一页| 成人福利在线免费观看| 国产成人高清亚洲一区久久| 日韩天堂在线观看| 一级一级一片免费| 欧美日韩高清| 少妇精品网站| 91香蕉国产亚洲一二三区| 国产99视频精品免费视频7 | 国产激情无码一区二区APP| 久久精品国产精品青草app| 白丝美女办公室高潮喷水视频| 午夜啪啪网| 91人人妻人人做人人爽男同| 91精品专区国产盗摄| 99色亚洲国产精品11p| 日韩免费毛片| 欧美a网站| 日韩美毛片| 69免费在线视频| 国产亚洲视频在线观看| 综合色亚洲| 日韩专区欧美| 欧美日韩激情在线| 综合色区亚洲熟妇在线| 久久国语对白| 99er精品视频| 国产一区二区精品福利| 无码高潮喷水在线观看| 亚洲自偷自拍另类小说| 免费观看国产小粉嫩喷水| 欧美另类一区| 欧美a级完整在线观看| 欧美日韩午夜| 亚洲男人天堂网址| 波多野结衣无码AV在线| 熟妇人妻无乱码中文字幕真矢织江 | 日韩欧美国产区| 在线视频97| 国产日韩丝袜一二三区| 热这里只有精品国产热门精品| 经典三级久久| 免费人成在线观看视频色| 欧洲极品无码一区二区三区| 中文成人无码国产亚洲| 四虎成人精品在永久免费| 亚洲男人天堂2020| 四虎永久在线精品影院| 久久久四虎成人永久免费网站| 一区二区自拍| 波多野结衣久久高清免费| 狠狠色婷婷丁香综合久久韩国 | www.youjizz.com久久| 久久激情影院| 色婷婷视频在线| 日韩高清一区 | 亚洲欧美日韩精品专区|