vba - 通过 VBA 调整 Excel 中命名范围的大小

标签 vba excel

我有一个命名范围,我需要根据命名范围中有多少值来调整其大小。例如,如果有十个项目,范围应该是 $A$1:$I11,但我需要它缩小和扩展。这是我到目前为止所拥有的:

Sub Generate()

Dim wsFail as Worksheet
Dim NextRow As Long, TotalRows As Long

Set wsFail = Sheets("Failure Report")

 wsFail.Activate
    NextRow = Sheets("Failure Report").Range("A" & Rows.Count).End(xlUp).Row
    TotalRows = Range("FailReportTable").Rows.Count
    Sheets("Failure Report").Range("A" & TotalRows).Resize(TotalRows, 9).Value & _
    = Range("FailReportTable").Columns("A:I").Value

End Sub

更新的代码(仍然不起作用)

With wsFail
    .Activate
        NextRow = .Cells(.Rows.Count, .Range("FailReportTable").Cells(1, 1).Column).End(xlUp).Row
        FirstCell = .Range("FailReportTable").Cells(1, 1).Address(False, False)
        LastCol = Split(.Range("FailReportTable").Cells(1, Range("FailReportTable").Columns.Count).Address(True, False), "$")(0)
        NewRange = FirstCell & ":" & LastCol & NextRow
        .ListObjects("FailReportTable").Resize Range("NewRange")
End With

最佳答案

调整命名范围大小的最终版本(带或不带标题)

  1. FailReportTable 更改为您的 NamedRange 的名称
  2. Failure Report 更改为您的 NamedRange 工作表的名称

代码:

Sub test_Gerasimos_Zap()

Dim wsFail As Worksheet, _
    FirstCell As String, _
    LastCol As String, _
    NextRow As Long, _
    NewRange As String

Set wsFail = Sheets("Failure Report")
With wsFail
    .Activate
        NextRow = .Cells(.Range("FailReportTable").Cells(1, 1).Row, .Range("FailReportTable").Cells(1, 1).Column).End(xlDown).Row
        FirstCell = .Range("FailReportTable").Cells(1, 1).Offset(-1, 0).Address(False, False)
        LastCol = Split(.Range("FailReportTable").Cells(1, .Range("FailReportTable").Columns.Count).Address(True, False), "$")(0)
        NewRange = FirstCell & ":" & LastCol & NextRow
    .ListObjects("FailReportTable").Resize Range(NewRange)
End With

End Sub

关于vba - 通过 VBA 调整 Excel 中命名范围的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33504479/

相关文章:

vba - 如何在Excel VBA中使用后期绑定(bind)实现跨版本兼容性

excel - 多个外部工作簿的 Worksheet_Change 事件

javascript - 向 json 添加新值

excel - 使用 Excel 工作表在 Cucumber 中进行数据驱动测试

excel - 如何以编程方式连接 Excel 电子表格?

excel - 单步执行代码(F8)时Excel无法关闭Word

excel - 在 VBA 中使用 VLOOKUP()

excel - 使用 VBA 保存和关闭办公程序(word、excel、access、outlook)以进行备份

vba - 在 VBA 中调用子程序

Excel:将一列划分为具有多个条件的表