iT邦幫忙

DAY 7
5

Excel VBA 的眉眉角角系列 第 7

Excel VBA 的眉眉角角Day7如何用Columns(數字)選擇多列?

透過巨集的錄製,我們可以得知程式如何撰寫,但是有些撰寫方式,錄製時並不會產生,只有參考VBA手冊,或者看別人的程式碼,才會知道,通常看到後才會恍然大悟:「原來還有這種方式可用!」,今天要介紹的,就是使用數字方式來選擇多列欄位,我們用以下程式來解釋:

Sub Day7()
	Sheets("Day7").Select
    '選擇多欄的方式
    '傳統選擇法,以英文字母選擇多欄
    Range("A:A,C:C,E:E").Select
    
    '若要改為以數字方式選擇多欄,有以下幾種方法
    
    Union(Columns(1), Columns(3), Columns(5)).Select
    
    Range("A1").Select
    
    '隱藏、顯示欄位
    Union(Columns(1), Columns(3), Columns(5)).EntireColumn.Hidden = True
    Union(Columns(1), Columns(3), Columns(5)).EntireColumn.Hidden = False
    
    
    '以物件方式處理
    Dim objCol As Object
    i = 1
    '將物件設定多個指定欄位,用此方式的好處,是可以用變數方式帶入
    '較有彈性
    Set objCol = Union(Columns(i), Columns(i + 2), Columns(i + 4))

    objCol.Select
    Range("A1").Select
    
    '除了選擇欄位外,比較常用的還有隱藏欄位
    objCol.EntireColumn.Hidden = True
    objCol.EntireColumn.Hidden = False
    
    
    '選擇區域範圍
    '傳統選擇法,以英文字母選擇多欄
    Range("A:K").Select
    
    '以數字方式選擇
    Range(Columns(1), Columns(10)).Select
    
    
    '以Resize配合英文字母或數字的選擇方式
    Columns("A").Resize(, 11).Select
    Columns(1).Resize(, 12).Select
    
    '以Range配合Cells方式來選擇
    Range(Cells(1, 1), Cells(1, 11)).EntireColumn.Select
    
End Sub

以上程式碼,可開啟VBE後貼上程式碼,然後透過F8按鍵逐一執行,即可得知執行結果。

這次的教學內容,讓欄位選擇有更多變化,配合物件設定的方式,可以用變數來選擇欄位,使用上更有彈性,希望對各位有幫助。


上一篇
Excel VBA 的眉眉角角Day6:關於工作表程式觸發與暫停觸發
下一篇
Excel VBA 的眉眉角角Day8: 關於錯誤控制與偵錯方式
系列文
Excel VBA 的眉眉角角30

尚未有邦友留言

立即登入留言