VBA程式設計,如何設定自動換行,表格設定就這麼簡單

No。1

Excel工具欄中有一個自動換行功能,應該都會使用。

其功能是,當表格寬度一定的情況下,表格內容根據其寬度換行排列。

不會出現超出表格寬度或隱藏擷取超出的資料。

這個功能在做表格的時候相當有用,誰都不願意把內容擷取掉,對於超出表格的內容打印出來,也十分不美觀。

VBA程式設計,如何設定自動換行,表格設定就這麼簡單

本節介紹一下如何用VBA程式碼來實現自動換行功能。

其方法很簡單,使用到一個屬性:WrapText

屬性的內容如下圖所示:

VBA程式設計,如何設定自動換行,表格設定就這麼簡單

No。2

WrapText是Range物件下的一個屬性。

使用方法:

Range(“A1”)。WrapText=True‘換行

Range(“A1”)。WrapText=False‘不換行

設定其值為True表示換行,False為不換行。

似乎也沒什麼可難理解的,只要把屬性名記住就行。

如下以一個簡單例子來看一下效果:

VBA程式設計,如何設定自動換行,表格設定就這麼簡單

No。3

上圖例子單擊按鈕,彈出輸入對話方塊,輸入一些資料,確定後自動實現換行。

具體看下程式碼如何實現這個過程:

VBA程式設計,如何設定自動換行,表格設定就這麼簡單

Private Sub SetWrapTextRows()ActiveSheet。Cells(1, 1)。Offset(1, 0)。Resize(Cells。Rows。Count - 1, Cells。Columns。Count)。ClearDim Str As StringStr = “ABCDEFGHIJKLMN1234569,這是一個換行例子,根據文字長度不同,設定行寬,自動換行。”Str = InputBox(“”, “輸入資料:”, Str)If VBA。Len(Str) = 0 Then MsgBox “沒有什麼資料,隱藏列!”, vbInformation, “提示”: Exit SubDim cell As RangeSet cell = ActiveSheet。Range(“B2:B10”)‘定義資料區域With cell With 。Offset(0, -1) 。Formula = “=row()-1” 。Borders。LineStyle = 1 。HorizontalAlignment = xlCenter 。Font。Bold = True 。Interior。Color = RGB(252, 121, 112) End With 。Item(1)。Value = Str 。FillDown 。ColumnWidth = VBA。Len(Str) 。WrapText = True ’設定換行 。Rows。AutoFit 。Borders。LineStyle = 1 。HorizontalAlignment = xlCenter 。Font。Size = 12 。Interior。Color = RGB(112, 211, 212)End WithMsgBox “當前行寬:” & cell。Width, vbInformation, “提示”End Sub

實現自動換行,在程式中對錶格的處理有很好的實用性。只要把應該換行的單元區域定義好,然後應用WrapText屬性即可。

當然了,些屬性還可以返回值,如果一個區域裡既有換行單元又有不換行單元,那麼就會返回一個Null值。

歡迎關注、收藏。