如何通过 vba 在任何地方使用自动换行?
在 VBA 中,有一个名为“WrapText”的属性,您可以访问该属性以将换行文本应用于单元格或单元格区域。您必须编写代码来启用或禁用它。它是一个读写属性,因此您可以应用它,或者如果将它应用到单元格上,您也可以获得它。
在本教程中,我们将了解使用 VBA 代码应用换行文本的不同方法。
使用 VBA 将文本换行到单元格中
按照以下步骤使用 VBA 代码应用自动换行。
Sub vba_wrap_text() Range("A1").WrapText = True End Sub
您还可以通过以下方式指定单元格。
Cells(1, 1).WrapText = True
将文本包裹在一行单元格中
如果要将文本换行应用于整个范围,则需要指定范围而不是单个单元格。
Range("A1:A5").WrapText = True
您还可以使用“UsedRange”属性将其应用到已使用范围(选择输入数据的工作表)。
Worksheets("Sheet1").UsedRange.WrapText = True ActiveSheet.UsedRange.WrapText = True
在上面代码的第一行中,您指定了工作表,然后指定了“UsedProperty”来换行文本。在第二行中,您有活动工作表的已使用范围。但这两条线的工作原理是一样的。
以下是您应该了解的更多示例:
- 非连续单元
- 全线
- 整栏
- 命名范围
Range("A1:A10,C1:C10").WrapText = True Range("A:A").WrapText = True Range("1:1").WrapText = True Range("myRange").WrapText = True
在整个工作表中换行文本
要引用整个工作表,您需要使用 Cells 属性,如以下代码所示。
Cells.WrapText = True Worksheets("Sheet1").Cells.WrapText = True
第一行代码引用活动工作表,第二行引用“Sheet1”工作表。您还可以使用FOR EACH (For Next)来循环遍历工作簿中的所有工作表,并将换行文本应用于所有单元格。
Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Cells.WrapText = True Next ws
在上面的代码中,您将“ws”作为变量,然后 For Each Loop 循环遍历工作簿中的所有工作表,并应用使用 Cells 来换行整个工作表的文本。
禁用自动换行
正如您所看到的,您需要启用 WrapText 属性,同样您可以使用 add 声明 FALSE 来禁用它。
Range("A1").WrapText = False
注意:您需要了解一件事,如果单元格中有一个值,并且单元格宽度足以存储该值,那么即使您将文本应用于该行,Excel也不会将内容移动到下一行。
什么是VBA
相关教程
- 在 Excel 中使用 VBA 计算行数
- Excel VBA 字体(颜色、大小、类型和粗体)
- Excel VBA 隐藏和显示列或行
- Excel VBA 范围 – 使用范围和单元格
- 在 Excel 中使用 VBA 将边框应用于单元格