乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      普通青年、文藝青年、IT青年制作二級(jí)下拉菜單

       hercules028 2019-04-13

      二級(jí)下拉菜單可以很好地規(guī)范數(shù)據(jù)錄入,也可以用作動(dòng)態(tài)交互式圖表的控件,今天就跟大家分享三種二級(jí)下拉菜單制作方法。

      01

      普通青年

      第一步:整理A:B列省市類別為D:G列格式,便于后期定義名稱。

      第二步:定義首行省份序列為名稱'省份',用于數(shù)據(jù)有效性引用。

      第三步:定義城市名稱-通過首行省份名批量定義,用于數(shù)據(jù)有效性中引用。這里面用到快捷鍵F5-定位常量,可以過濾掉無數(shù)據(jù)的區(qū)域。然后'根據(jù)所選內(nèi)容創(chuàng)建',可批量定義城市序列名稱。

      第四步:分別為省市對(duì)應(yīng)單元格設(shè)置數(shù)據(jù)有效性,這里設(shè)置省份一級(jí)菜單時(shí),有效性條件選擇序列,來源=省份(之前定義的名稱)即可。設(shè)置城市二級(jí)下拉菜單數(shù)據(jù)有效性時(shí)用到了indirect函數(shù)(關(guān)于該函數(shù)使用方法,請(qǐng)仔細(xì)查看F1函數(shù)幫助)。按下圖操作,一個(gè)省市二級(jí)下拉菜單就做好啦。

      02


      文藝青年

      文藝青年的做法與普通青年原理上和方式上大體相同,那么是如何展示文藝范的呢?

      Step1:對(duì)省份列表按照升序或者降序排列(目的是讓包含相同內(nèi)容的省份彼此相鄰)

      Step2:對(duì)省份的列表進(jìn)行了一點(diǎn)加工,定義了如下名稱:

      在定義省份序列的名稱時(shí),用到的高頻函數(shù)簡(jiǎn)單解釋下:

      • offset函數(shù)根據(jù)行列偏移以及行列數(shù),生成動(dòng)態(tài)引用區(qū)域;

      • match函數(shù)確認(rèn)已輸入字符的在省份行中的起始位置;

      • countif用于統(tǒng)計(jì)包含已輸入內(nèi)容的項(xiàng)目個(gè)數(shù)。

      • &'*'用于模糊匹配

      通過定義名稱,會(huì)為數(shù)據(jù)有效性引用的序列重新設(shè)定一個(gè)省份范圍。

      Step3:與普通青年相類似,在進(jìn)行省份一級(jí)菜單制作時(shí),在D18單元格的數(shù)據(jù)有效性設(shè)置對(duì)話框中,直接輸入已經(jīng)定義好的名稱'=文藝青年省份”即可。

      Step4:取消出錯(cuò)警告中'輸入無效數(shù)據(jù)時(shí)顯示出錯(cuò)警告'的復(fù)選框。

      Step5:城市二級(jí)下拉菜單制作方法與普通青年的第四步驟一致,也是在數(shù)據(jù)有效性中借助indirect函數(shù),'允許'設(shè)置為序列,來源=INDIRECT($D$18)

      效果如下:

      這種類似于聯(lián)想式下拉菜單的方法,避免了一級(jí)菜單中幾十個(gè)省份的冗長(zhǎng)名單,不便于選擇。只需輸入'廣',下拉菜單中便只有'廣東'和'廣西';若輸入'湖',則下拉菜單中則只有'湖南'和'湖北',非常方便和智能。

      注:1)對(duì)于一級(jí)菜單,需要滿足排序后可包含相同關(guān)鍵字的內(nèi)容要相鄰,這是其最大的局限性。2)如果不是省市的使用場(chǎng)景,而是包含相同關(guān)鍵字的內(nèi)容有多個(gè)時(shí),這種方式優(yōu)勢(shì)會(huì)很明顯。

      03


      IT青年

      IT青年可以通過VBA編程,直接用省市列表借助字典功能,實(shí)現(xiàn)省市二級(jí)下拉的效果。按住Ctrl+F3查看已定義的名稱時(shí),也不會(huì)在名稱列表中出現(xiàn)幾十個(gè)被定義的名稱,以至于看起來非?;靵y。就像下面這樣:

      此外,可以避開繁瑣的基礎(chǔ)操作,省去前期數(shù)據(jù)整理的大量工作,不必再將數(shù)據(jù)整理成如下格式,保持省份和城市兩列即可。

      通過以下代碼,可以取得與普通青年完全相同的省市二級(jí)下拉菜單效果。

      劃重點(diǎn):以下代碼需要與要定義的省市二級(jí)下拉菜單位于同一個(gè)工作表中,并且代碼寫好后需要保存工作簿后重新打開,這兩個(gè)工作表事件才能正常運(yùn)行,不知是否又是微軟的Bug。

      Private Sub Worksheet_Activate() Application.ScreenUpdating = False '暫停刷新屏幕    Application.EnableEvents = False '禁用事件 Dim s As Object arr = Sheets('省市列表-IT青年').Range('A1').CurrentRegion If UBound(arr) < 2 Then MsgBox '數(shù)據(jù)庫中沒有數(shù)據(jù)可供檢索!', vbInformation: Exit Sub Set s = CreateObject('Scripting.Dictionary') For I = 2 To UBound(arr) If Not s.Exists(arr(I, 1)) Then s(arr(I, 1)) = '' End If Next With Range('D30').Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(s.keys, ',') On Error Resume Next End With Set s = Nothing Application.EnableEvents = True Application.ScreenUpdating = True '恢復(fù)刷新屏幕End Sub
      Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False '暫停刷新屏幕 Application.EnableEvents = False Dim brr(), n As Integer If Target.Address = '$D$30' Then '選擇省份 arr = Sheets('省市列表-IT青年').Range('A1').CurrentRegion Range('E30') = '' For I = 2 To UBound(arr) If arr(I, 1) = Target Then n = n + 1: ReDim Preserve brr(n) brr(n) = arr(I, 2) End If Next With Range('E30').Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(brr, ',') On Error Resume Next End With End If       Application.EnableEvents = True   '啟用事件 Application.ScreenUpdating = True '恢復(fù)刷新屏幕End Sub

      這里省份一級(jí)菜單用到了Worksheet_Activate事件,城市二級(jí)下拉菜單用到了Worksheet_Change事件。

      其中D30和E30單元格分別為省市下拉菜單所在位置,Range('A1').CurrentRegion代表與A1單元格相連的區(qū)域,也即被空行和空列隔開的單元格區(qū)域。這些均可以根據(jù)實(shí)際情況按需修改,其他代碼部分其實(shí)并沒有多大必要逐字逐句地去理解和記憶,拿來主義為我所用就好。

      怎么樣,小伙伴們學(xué)會(huì)了嗎?你覺得自己是哪種青年呢?

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多