前景提要(文末提供源碼下載)
昨天我們分享了如何通過VBA來實現首行以及多行凍結的方式,讓Excel自帶的功能,通過VBA代碼的方式實現了,在程序運行的過程中,就可以輕松的借助已經存在的輪子來操作了,而不用自己額外再去造輪子了。既然已經分享了首行/多行的凍結,那麼順帶也來分享下首列/多列的凍結吧
場景說明
excel自帶的功能裡面,凍結首列是單獨存在的,但是在凍結多列的時候,雖然步驟并不是很多,但是因為沒有步驟提示和說明,所以很多的小夥伴們在使用的時候,就會忘記具體的操作步驟,百度看了一下,雖然教程很多,但是步驟還是不少。與其每次花費時間去百度,還不如按照自己的理解做一個有提示的凍結功能,這樣既方便自己也節省了時間
代碼區
依然先來看看首列凍結
Sub 首列凍結() With ActiveWindow .SplitColumn = 1 .SplitRow = 0 End With ActiveWindow.FreezePanes = True End Sub
來看看多列的方法
Sub 多列凍結() Dim rng As Range line: Set rng = Application.InputBox("請選擇單元格", "确定要凍結行的下一行的單元格位置", , , , , , 8) If rng.Columns.Count > 1 Then MsgBox "請随機選擇下一行的一個單元格即可,請重新選擇!" GoTo line Else With ActiveWindow .SplitColumn = rng.Column .SplitRow = 0 End With ActiveWindow.FreezePanes = True End If End Sub
看起來和昨天處理多行的方法有一些不同,其實昨天的方法功能還多一些。今天的這個方法是專門針對列進行操作的,昨天的方法還涉及了列,後面會說到。
先來看看效果
代碼解析
今天的代碼和昨天的行的凍結稍微有一些不同
因為在更換了場景之後,我發現昨天的代碼并不是完全針對行的,他更适用于行列同時操作的時候使用,單獨針對于行的操作,可能并不完美會有一些瑕疵。
所以大家也一起更新下昨天的知識點,
With ActiveWindow .SplitColumn = 0'幾列 .SplitRow = 1'幾行 End With
不管是單獨操作行的凍結,還是單獨操作列的凍結,這幾句話都是必須的,
代碼中已經做了備注,你需要操作幾行就是将行數後面更換成為對應的數值,你要操作激烈,就将幾列換成對應的數值就可以了。
大家一起更新下方法,昨天的代碼在單獨處理行的時候,會有一些瑕疵,已經下載了昨天源文件的小夥伴我會單獨私信最新的源文件給你,記得按照最新的來學習哦,
至于原來的方法有什麼瑕疵,我們下一節一起講解
================================
本節課的案例源碼已經上傳,需要的小夥伴後台私信“7-74..new”,本節案例涵蓋了單獨針對行、列的操作,如果我出現了遺漏,沒有收到最新文件的小夥伴可以選擇直接私信獲得今天的最新版
好了,明晚19:00,準時再見!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!