VBA-在表格的特定位置插入可变数量的列

时间:2018-11-22 17:27:21

标签: excel vba excel-vba

我需要使用VBA将可变数量的列插入表中的帮助。到目前为止,我有:

Private Sub copy_data(filename As String)
    disable_updates

    If Not filename = "False" Then
        Set dest_workbook = ActiveWorkbook
        Set src_workbook = Workbooks.Open(filename, True, True)

        test = copy_sheet_with_links(src_workbook.Worksheets("Main"), dest_workbook.Worksheets("Reference"), 0, 0)
        test = copy_sheet_with_links(src_workbook.Worksheets("PMP"), dest_workbook.Worksheets("PMP"), 1, 1)

        src_workbook.Close False
        Set src_workbook = Nothing

        dest_workbook.RefreshAll
        dest_workbook.Worksheets("PMP").Select
    End If

    enable_updates
End Sub

要插入的列数在“参考”工作表的单元格B19中。这些列将插入“ PMP”工作表上名为PMPTable的表中。

1 个答案:

答案 0 :(得分:0)

您没有提到要在PMP表中的何处添加新列...但是,假设从C列开始,我会做这样的事情:

将列数分配给变量

Dim nrCols As Long
nrCols = dest_workbook.Sheets("Reference").Range("B19").Value

使用nrCols值调整从C列开始的范围的大小,然后插入列。

With src_workbook.Sheets("PMP")
    .Range("C:C").Resize(, nrCols).EntireColumn.Insert
End With