首页 > 解决方案 > 在 VBA 脚本中按索引号引用表的正确语法是什么

问题描述

我正在尝试组合一个非常简单的 VBA 脚本来清除指定工作表中所有表格的指定表格列范围([Front Straddle]:[Front Option])内的单元格内容。该脚本仅存在于“VolJump”工作表中,该工作表包含任意数量的格式相同、名称不同的表。因此,我觉得最好的方法是通过索引号来引用这些表。

这是我在“范围”函数中遇到正确引用/嵌套问题的地方,如下所示。任何帮助是极大的赞赏。


Sub ClearCells()

    Dim i As Long
    Dim sh As Worksheet

    Set sh = ThisWorkbook.Worksheets("VolJump")

 If sh.ListObjects.Count > 0 Then
  For i = 1 To sh.ListObjects.Count

  Range("Activesheet.ListObjects(1)[[Front Straddle]:[Front Option]]").Select
    Selection.ClearContents
            
        Next i
    End If
End Sub

标签: excelvba

解决方案


清除表格列范围的内容

Option Explicit

Sub ClearCells()
    Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("VolJump")
    Dim tbl As ListObject
    For Each tbl In ws.ListObjects
        ws.Range(tbl.Name & "[[Front Straddle]:[Front Option]]").ClearContents
    Next tbl
End Sub

推荐阅读