• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      VBA幫你玩接龍

      2020-12-23 04:53:54韓有鋒
      西部論叢 2020年15期
      關(guān)鍵詞:詞庫接龍單元格

      摘 要:成語接龍是中華民族傳統(tǒng)的文字游戲。“有趣”的成語接龍,就是從“有”這個(gè)字做“龍頭”,一直接到“趣”這個(gè)字結(jié)尾。在這個(gè)過程中,我們綜合運(yùn)用了搜索引擎的使用、辦公軟件的技巧、流程圖的繪制、軟件的安裝與激活、Excel函數(shù)及VBA編程等諸多知識(shí)點(diǎn)。由此可見,在學(xué)習(xí)中探索也是一件很有趣的事。

      關(guān)鍵詞:成語接龍;Excel函數(shù)及VBA

      成語接龍是中華民族傳統(tǒng)的文字游戲。它有著悠久的歷史,也有廣泛的社會(huì)基礎(chǔ),是老少皆宜的民間文化娛樂活動(dòng)!

      “有趣”的成語接龍,就是從“有”這個(gè)字做龍頭,一直接到“趣”這個(gè)字結(jié)尾。例如:有始有終→終有一別→別有風(fēng)趣。讓我們一起來看看這個(gè)用Excel是如何實(shí)現(xiàn)的呢。

      第一步,找成語詞庫。這個(gè)要考驗(yàn)大家的搜索能力了。幾經(jīng)周折,在百度網(wǎng)盤里找到一個(gè)3萬條成語的詞庫,https://pan.baidu.com/s/1xcOCQ。厲害,所有的成語還都帶有拼音和解釋,感謝匿名用戶的分享,向您的辛勤付出致敬。

      第二步,把找到的詞庫做成我們想要的樣子。只要四字成語,拼音和解釋都不要。這里要用到Excel的“分列”和“快速給行添加序號(hào)”兩個(gè)小技巧。對(duì)于辦公軟件應(yīng)用老手應(yīng)該說是小菜一碟,在此向新手們小秀一把。

      打開下載來的詞庫文件(txt格式),“Ctrl+A”,全選,“Ctrl+C”,復(fù)制。打開Excel,“Ctrl+V”,粘貼,“Ctrl+S”,保存詞庫文件(選擇xlsm格式,因?yàn)楹竺嬉玫絍BA)。關(guān)閉txt詞庫文件。

      選中A列的所有內(nèi)容,然后在工具欄依次點(diǎn)擊“數(shù)據(jù)”-“分列”,接著會(huì)彈出分列向?qū)?duì)話框,選中固定寬度后,點(diǎn)擊下一步。調(diào)整那根黑色箭頭到合適位置(其實(shí)excel會(huì)智能為你選擇默認(rèn)位置,此例就不需要再調(diào)整了),點(diǎn)擊完成。分列后的A列中就是我們要的四字成語,其他各列的內(nèi)容可以直接刪掉了。

      因?yàn)橄螺d的詞庫文件中有“隔一行空一行”的特點(diǎn),所以A列也是一行成語一行空行。刪除多余的空行,要用到給行添加序號(hào)的方法。如何快速去除空行,為成語行添加序號(hào),老朽再獻(xiàn)一招。

      鼠標(biāo)選任何一個(gè)有成語的單元格,同時(shí)按“Ctrl+End”鍵,會(huì)自動(dòng)跳到該工作表的表尾,即該工作表有操作過的最右側(cè)最下方的單元格。記下最下方行的行號(hào),如最后一行是61614,在公式編輯欄的左邊顯示單元格地址的地方(學(xué)名:名稱框)內(nèi)輸入B1:B61614,敲回車,這時(shí)從B1到B61614所有的單元格都被選中了,我們隨便輸入一個(gè)數(shù)字,比如1,同時(shí)按“Ctrl+Enter”鍵,選中的單元格將全部填入剛才輸入的內(nèi)容。在B2單元格內(nèi)輸入2,連續(xù)選中“B1:B2”,雙擊“黑十字”,B列就自動(dòng)填充了序號(hào)。選中A1單元格,在菜單欄上點(diǎn)擊圖標(biāo)“A→Z”,所有的成語就排在了一起,按“Ctrl+↓”(方向鍵的向下箭頭),到達(dá)A列的最后一行,按“→”鍵,將光標(biāo)向右平移到B列,按“↓”鍵,將光標(biāo)向下移動(dòng)一格,按“Ctrl+Shift+↓”,即可選定B列中多余數(shù)據(jù)的所有行,按Delete鍵刪除。我們?cè)侔袮B兩列互換位置,序號(hào)在左,成語在右。A列與B列互換也是有小技巧的喲!首先選中A列數(shù)據(jù)區(qū),然后按住Shift+鼠標(biāo)左鍵往右拖拽,當(dāng)鼠標(biāo)變成“十字型方向鍵”,拖動(dòng)到B列之后,松開鼠標(biāo)左鍵就完成了兩列對(duì)調(diào)互換。用函數(shù)left、right提取成語的“頭”,“尾”。組合“頭尾”,刪除“等效”成語,比如:“深謀遠(yuǎn)慮”與“深思熟慮”在接龍過程中起的作用是一樣的,保留一個(gè)就可以。增加標(biāo)題行,詞庫大功告成。

      第三步,制作程序流程圖。流程圖的繪制基本上按照編程思路來繪制的,就是用圖形方式反映處理過程的“流水賬”。繪制出這本“流水賬”對(duì)于過程中理順和優(yōu)化代碼是很有幫助的。在程序設(shè)計(jì)中,最重要的不是寫程序代碼,而是設(shè)計(jì)。畫圖的過程就是思考的過程,由于其直觀性,畫圖的過程本身又促進(jìn)了思考。

      繪制流程圖的方法很多,老朽采用的是微軟的Visio 2013。安裝后,啟動(dòng)KMSpico,點(diǎn)擊大的紅色按鈕,稍等一會(huì),即告成功。如果在安裝過程中提示未安裝 .net framework4.0,請(qǐng)按提示進(jìn)行安裝。.net framework4.0是XML Web Services 的內(nèi)部 Windows 組件,很多基于此架構(gòu)的程序需要它的支持才能夠運(yùn)行。

      第四步,著手寫代碼。本例使用Excel工作表作為數(shù)據(jù)庫,VBA編寫代碼。VBA是一種編程語言,它依托于Microsoft Office軟件,不能獨(dú)立運(yùn)行,通過VBA可以實(shí)現(xiàn)各種Office軟件操作的自動(dòng)化。VBA的主要作用有:(1)實(shí)現(xiàn)Excel中沒有提供的功能;(2)提高程序運(yùn)行速度;(3)按要求自定義函數(shù);(4)對(duì)大量需要重復(fù)的過程可以實(shí)現(xiàn)自動(dòng)化功能;(5)通過插入窗體做小型管理軟件。VBA存放于VB編輯器中。打開方法為:單擊EXCEL右上角的OFFICE圖標(biāo),找到EXCEL選項(xiàng),單擊打開;勾選在功能區(qū)顯示“開發(fā)工具”選項(xiàng)卡,單擊確定按鈕完成修改;單擊菜單欄的開發(fā)工具,然后找到Visual Basic選項(xiàng),單擊打開便可以進(jìn)行相關(guān)的VBA編程。也可以按組合鍵“Alt+F11”進(jìn)入VB編輯器。再或者是鼠標(biāo)放置到工作表表名標(biāo)簽上,單擊鼠標(biāo)右鍵,選擇“查看代碼”,同樣能進(jìn)入VB編輯器。

      編碼過程中使用了子過程,變量就要在不同過程中進(jìn)行傳遞,這要用到全局變量,VBA要求在程序開始前,先聲明全局變量。

      老朽在這里用到了中國傳統(tǒng)文化中的“家譜”的概念。即龍子、龍孫按“代”記錄其名字dm(d)和父親的名字df(d) ,“代”用變量d記錄,并寫進(jìn)數(shù)據(jù)庫。

      為防止進(jìn)入諸如“有求必應(yīng)→應(yīng)有盡有→有求必應(yīng)→應(yīng)有盡有”這樣的死循環(huán),在數(shù)據(jù)庫中增加了一列輔助數(shù)據(jù)Cells(i, 5) = d。如果一條成語被使用,則在輔助列里寫入d的值,只有輔助列內(nèi)Cells(i, 5) = ""值為空時(shí),成語才能被使用,這就限定一個(gè)成語只能被使用一次,從而避免了進(jìn)入死循環(huán)的可能。

      判斷龍孫中是否有叫“趣”,即是否包括目標(biāo)結(jié)束字。有則退出循環(huán),為zl賦值。

      找到“真龍”前,以“龍子”的尾為“龍孫”的頭,不斷進(jìn)行循環(huán)調(diào)用zp

      當(dāng)找到符合條件的“真龍”,調(diào)用px子過程:

      If zd = 1 Then

      Call px

      px主要作用是將數(shù)據(jù)庫中已使用到的成語集中在一起,減少遍歷循環(huán)過程讀取數(shù)據(jù)的次數(shù),提高運(yùn)行效率。

      調(diào)用px過程結(jié)束后,提取當(dāng)前行的行號(hào),減少循環(huán)次數(shù)。t

      在L2單元格內(nèi)輸出“真龍”,用并彈出對(duì)話框的方式加以提示。

      至此,成語接龍的代碼就寫完了。讓我們一起來驗(yàn)證一下它的效果吧:老朽名曰韓有鋒,看看能否實(shí)現(xiàn)“由韓到有,由有到鋒”的成語接龍呢?

      輸入首尾字:韓有,運(yùn)行VBA程序,得到結(jié)果:韓信將兵→兵不由將→將門虎子→子虛烏有。輸入首尾字:有鋒,得到結(jié)果:有腳陽春→春暖花開→開路先鋒。最終“韓有鋒”的接龍效果為:【韓】信將兵→兵不由將→將門虎子→子虛烏有→【有】腳陽春→春暖花開→開路先【鋒】。

      是不是一個(gè)很有趣的成語接龍。在這個(gè)過程中,我們綜合運(yùn)用了搜索引擎的使用、辦公軟件的技巧、流程圖的繪制、軟件的安裝與激活、Excel函數(shù)及VBA編程等諸多知識(shí)點(diǎn),由此可見,在學(xué)習(xí)中探索也是一件很有趣的事。

      作者簡介:韓有鋒(1975- ),男,江蘇沛縣人,大學(xué)本科,江蘇省徐州技師學(xué)院信息工程學(xué)院,高級(jí)講師,主要從事設(shè)計(jì)類、計(jì)算機(jī)類教學(xué)研究工作。

      猜你喜歡
      詞庫接龍單元格
      玩轉(zhuǎn)方格
      玩轉(zhuǎn)方格
      淺談Excel中常見統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
      西部皮革(2018年6期)2018-05-07 06:41:07
      詞語接龍
      詞語接龍
      詞語接龍
      詞庫音系學(xué)的幾個(gè)理論問題芻議
      成語接龍
      環(huán)境變了,詞庫別變
      電腦迷(2014年14期)2014-04-29 00:44:03
      QQ手機(jī)輸入法如何導(dǎo)入分類詞庫
      電腦迷(2012年15期)2012-04-29 17:09:47
      新干县| 衡东县| 梁山县| 瓮安县| 定陶县| 那曲县| 河池市| 克拉玛依市| 康马县| 阜阳市| 灵川县| 报价| 黄大仙区| 且末县| 兰州市| 思南县| 广东省| 周至县| 阳江市| 连平县| 封丘县| 辽阳市| 广宗县| 营口市| 长丰县| 莒南县| 定边县| 玉门市| 巴林左旗| 镇巴县| 满洲里市| 大名县| 南溪县| 璧山县| 新蔡县| 阿拉尔市| 渝北区| 永济市| 万载县| 车险| 周宁县|