gpt4 book ai didi

excel - VBA 中对特定行和列范围的结构化引用

转载 作者:行者123 更新时间:2023-12-04 21:52:04 26 4
gpt4 key购买 nike

我正在尝试遍历 ListObject并且,根据一行是否可见,选择该行的某些列以复制并粘贴到另一个工作表中。我目前有以下代码:

Set tbl = ActiveSheet.ListObjects("MasterBudget")
For r = 1 To tbl.ListRows.Count
If tbl.ListRows(r).Range.RowHeight <> 0 Then 'not hidden/filtered
tbl.ListColumns("Item description").DataBodyRange(r).Select
Range("[@[Item description]:[Unit 3]]").Select '<-- problem line
End If
Next r

它确实找到了正确的项目,但由于某种原因,我无法弄清楚如何选择那组特定的列(从项目描述到单元 3)。我究竟做错了什么?

任何建议高度赞赏。

最佳答案

@符号只有在输入到 ListObject 内的单元格时才有意义。有问题。

从代码中,您已经有了想要的行和列,因此您想要的单元格是两者的交集:

Dim tbl As ListObject
Dim ColumnsOfInterest As Range
Dim r As Long

Set tbl = ActiveSheet.ListObjects("MasterBudget")
Set ColumnsOfInterest = tbl.DataBodyRange.Worksheet.Range(tbl.ListColumns("Item description").Range, tbl.ListColumns("Unit 3").Range)

For r = 1 To tbl.ListRows.Count
If tbl.ListRows(r).Range.RowHeight <> 0 Then 'not hidden/filtered
Dim RangeToCopy As Range
Set RangeToCopy = Application.Intersect(tbl.ListRows(r).Range, ColumnsOfInterest)

RangeToCopy.Copy ...
End If
Next r

请注意,您 don't have to select anything .

关于excel - VBA 中对特定行和列范围的结构化引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52233143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com