1 選擇省 然后可以選擇對應(yīng)的城市
完成后的最終效果如下:
最終效果
首先建立如下表格
建立初始表格
然后選擇菜單-公式-名稱管理器,建立兩個一級條目
建立兩個一級條目
然后選擇A6單元格徊哑,選擇菜單-數(shù)據(jù)-數(shù)據(jù)驗(yàn)證的第一個選項(xiàng),允許處選擇序列回铛,來源處注意征绸。
數(shù)據(jù)有效性
現(xiàn)在省份可以選擇了
選擇省份
在選中B6單元格,選擇菜單-數(shù)據(jù)-數(shù)據(jù)驗(yàn)證的第一個選項(xiàng)甘有,允許處選擇序列诉儒,來源處注意。
選擇城市
大功告成亏掀!
基本的級聯(lián)
發(fā)現(xiàn)個問題忱反,選擇蘇州后城市一欄還是河北的城市,也就是需要清空下城市滤愕,這時就得用vba了温算。
在下方的sheet1處右擊,選擇查看代碼...
查看代碼
這時彈出VBE編輯窗口间影,輸入下面這段代碼
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$6" Then Range("$B$6").ClearContents
End Sub
當(dāng)用戶更改工作表中的單元格注竿,或外部鏈接引起單元格的更改時產(chǎn)生觸發(fā)上面代碼。
當(dāng)用戶切換的是A6單元格的內(nèi)容魂贬,則會將B6的內(nèi)容清空巩割。
效果如下
切換時清空城市
現(xiàn)在還有一種特殊需求,即當(dāng)選擇的是河北時付燥,城市處需要變灰宣谈,而且不可編輯,不可選擇键科;當(dāng)省份是江蘇時闻丑,可以正常選擇漩怎。
最終代碼如下
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = [b6].Address Then Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$6" Then Range("$B$6").ClearContents
If [a6] = "河北" Then
Cells(6, 2).Interior.ColorIndex = 15
Else
Cells(6, 2).Interior.ColorIndex = 0
End If
End Sub
第一段代碼是禁止了B6單元格的雙擊事件
第二段是如果選擇的是河北則B6單元格顏色置灰
同時需要重新設(shè)置名稱選擇器,編輯名稱管理器內(nèi)的河北嗦嗡,改成如下所示扬卷,點(diǎn)擊確定
修改名稱管理器
最終效果如圖:
最終效果