如何在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 
vba-清除数组

通过这个语句,它清除了数组中的所有元素,当我们使用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

要点

  1. 当您清除固定表时:
    1. 在包含字符串所有值的数组中,擦除语句会将(可变长度)处的所有元素重置为零长度字符串“”,将(固定长度)处的所有元素重置为零。
    2. 在包含数值的数组中,擦除语句会将所有元素重置为零。
    3. 在数组中,作为一种变化的数据类型,clear 语句会将所有元素重置为空。
    4. 在包含对象的数组中,擦除语句会将所有元素重置为空。
    5. 在包含对象的数组中,如果它是单独的变量,则擦除语句将重置所有元素。
  2. 当您擦除动态数组时,擦除语句会释放动态数组使用的空间。

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注