Excel數據查詢還要用到VBA?高端查詢了解一下

​excel使用技巧大全前面我們學習了怎樣用宏功能來進行點擊按鈕跳轉到目標工作表格上,並如何返回操作,還有朋友提到怎樣將工作表隱藏。

Excel數據查詢還要用到VBA?高端查詢瞭解一下

透過文件選項高級,這個工作簿的顯示選項可以設置為不顯示,甚至連滾動條也可以隱藏起來。

現在咱們來學習一下怎樣用宏來查詢。

看下圖,這是一份成績表,裡面有各個班級學生姓名,語文,英語,數學等三門成績。

Excel數據查詢還要用到VBA?高端查詢瞭解一下

我們來通過下面的操作界面,輸入學號來進行成績的查詢。

Excel數據查詢還要用到VBA?高端查詢瞭解一下

操作方法步驟如下:

Excel數據查詢還要用到VBA?高端查詢瞭解一下

插入按鈕,命名查詢右擊按鈕,指定並錄製宏。選定成績查詢表B6:F6區間,內容清理。點擊成績表,選定A1單元格,ctrl+A,全選數據區域。點擊高級篩選,我們只要選擇條件區間,成績查詢表B2::3.點擊確定通過第6步,已經篩選數據區域出來了,選擇表中單元格C1,ctrl+shift+⬇,alt+;,複製,成績查詢表B6單元格,粘貼就可以了。選擇表中單元格E1,ctrl+shift+⬇,ctrl+shift+➡,alt+;,複製,成績查詢表單元格C6,粘貼。查詢表裡選擇第6行,進行刪除。成績表裡清除篩選,任意選一個單無格點擊。返回查詢表。

錄製停止,看看效果如何。雖然很慢,但對於一個什麼都不懂的代碼新手來說,還是一個非常好的練手的機會的。

上面的有些步驟有些小夥伴可能不知道怎麼操作,但只要不斷的去嘗試就可以慢慢摸索出來。

下面我們再來打開VBE看看代碼:

Sub 成績查詢()

Range("B6:F6").Select '選擇單元格區域B6:F6

Selection.ClearContents '清空內容

Sheets("成績表").Select '選擇成績表

Range("A1:H109").Select '選擇數據區域

Application.CutCopyMode = False

Application.CutCopyMode = False

Application.CutCopyMode = False

Range("A1:H109").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _

Sheets("成績查詢").Range("B2:B3"), Unique:=False '根據條件高級篩選

Range("C1").Select '選擇C1單元格

Range(Selection, Selection.End(xlDown)).Select '向下選擇到最後一個數據

Selection.SpecialCells(xlCellTypeVisible).Select '選擇可見單元格

Selection.Copy '複製

Sheets("成績查詢").Select '選擇成績查詢表

Range("B6").Select '選擇B6單元格

ActiveSheet.Paste '粘貼

Sheets("成績表").Select '選擇成績表

Range("E1").Select '選擇E1單元格

Range(Selection, Selection.End(xlToRight)).Select '向右選擇到最後一個數據

Range(Selection, Selection.End(xlDown)).Select '向下選擇到最後一個數據

Selection.SpecialCells(xlCellTypeVisible).Select '選擇可見單元格

Application.CutCopyMode = False

Selection.Copy '複製

Sheets("成績查詢").Select

Range("C6").Select

ActiveSheet.Paste

Rows("6:6").Select

Application.CutCopyMode = False

Selection.Delete Shift:=xlUp '刪除第六行

Range("G1").Select

Sheets("成績表").Select

ActiveSheet.ShowAllData '清除篩選

Range("I1").Select

Sheets("成績查詢").Select

Range("H1").Select

End Sub

想學習代碼但又不知道要怎麼做的同學,通過錄制宏,研究代碼我覺得非常不錯的哦。


分享到:


相關文章: