使用宏/VBA 将新表添加到 Excel



我有一个宏,它将一个新表插入到一个范围中,并根据另一个单元格值命名新表:

Select Code  copy to clipboard
Sub sbCreatTable()
Sheet1.ListObjects.Add(xlSrcRange, Range("B1:B3"), , xlYes).Name = Range("a2").Text

但是,我想将表格添加到的工作表已经有一系列表格,全部在 B 行上,所以我需要将表格添加到这些表格的末尾,并插入 B 行的第一个空单元格中。我拥有的代码只会在特定范围内插入它。

有人能帮我指出正确的方向吗?

我已经将您的叙述解释为您希望新表紧邻从第二个开始的其他表的右侧。我发现最好在结构化 ListObject 表之间保留一个空白列作为"护城河"。

With Sheet1
    With .ListObjects.Add(xlSrcRange, .Cells(2, Columns.Count).End(xlToLeft).Offset(0, 2).Resize(3, 1), , xlYes)
        .Name = .Parent.Range("a2").Text
    End With
End With

如果要删除空白列,请将 Range.Offset 属性更改为 .Offset(0, 1)

最新更新