如何在vba中清空表格?
在VBA中需要使用“Erase”语句来擦除数组。在要删除的表名称前添加关键字“Erase”,但请注意,所有值都将从表中重置。在下表中,您有 3 个元素,我们使用擦除语句来擦除所有内容。
Sub myMacro1() Dim myArray() As Long ReDim myArray(4) myArray(1) = 1 myArray(2) = 2 myArray(3) = 3 myArray(4) = 4 ReDim myArray(1 To 5) MsgBox myArray(3) End Sub
通过这个语句,它清除了数组中的所有元素,当我们使用Debug.Print(立即窗口)获取数组元素时,什么也没有剩下。
清除动态表
当您使用 ReDim 时,它会删除所有项目。但是您可以使用preserve语句来保留一些元素并部分清除数组。在下面的示例中,我们有一个数组,我们已经部分清除了第四个值,然后将元素设置回 5。
如果你想部分清除动态数组。
Sub myMacro2() Dim myArray() As Long ReDim myArray(1 To 4) myArray(1) = 1 myArray(2) = 2 myArray(3) = 3 myArray(4) = 4 'erase position 4 but preserve the 1,2, and 3 ReDim Preserve myArray(1 To 3) 'redefine the array items to five ReDim Preserve myArray(1 To 5) MsgBox myArray(3) End Sub
要点
- 当您清除固定表时:
- 在包含字符串所有值的数组中,擦除语句会将(可变长度)处的所有元素重置为零长度字符串“”,将(固定长度)处的所有元素重置为零。
- 在包含数值的数组中,擦除语句会将所有元素重置为零。
- 在数组中,作为一种变化的数据类型,clear 语句会将所有元素重置为空。
- 在包含对象的数组中,擦除语句会将所有元素重置为空。
- 在包含对象的数组中,如果它是单独的变量,则擦除语句将重置所有元素。
- 当您擦除动态数组时,擦除语句会释放动态数组使用的空间。