gpt4 book ai didi

vba - 如何在 Excel 中通过 VBA 在筛选/可见单元格中复制/粘贴公式

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

我正在努力在另一列中使用过滤器,将公式从一列复制并粘贴到另一列。

我有一个 52 列的表(行数每个月都在变化)。在 AW 列(#49)中,我应用了过滤器。它仅显示CTD。应用此过滤器后,我需要将公式从 AH 列复制到 AG 列。当然,我只需要将此应用于过滤/可见单元格。我编写的代码将此公式复制/粘贴到 AG 列中的所有单元格中(它不考虑 AW 列中的过滤器)。另一个问题是,当在 AW 列中应用过滤器时,第一个可见行不需要始终是 AH2,但它可以是例如AH15 或其他什么。我想这可以通过一些动态解决方案来避免。不幸的是我不知道该怎么做。

之后我想对其他列中的过滤器应用相同的过滤器。

提前非常感谢您的任何提示! :)

这是我的代码:

Sub ApplyFilterInColumnAW()

Sheets("DATA").Select
ActiveSheet.ListObjects("tb_DATA").Range.AutoFilter Field:=49, Criteria1:="CTD"
Range("AG2").Select 'dynamic solution?
ActiveCell.FormulaR1C1 = "=[@[Service/Log Formula]]" 'header name of column AH

End Sub

最佳答案

Range.CopyRange.Paste 仅适用于可见单元格。在我的示例中,我使用列标题定位列中的单元格。

Sub ApplyFilterInColumnAW()
Const TagetColumnLabel = "Test"
Dim tbl As ListObject
Set tbl = Sheets("DATA").ListObjects("tb_DATA")

With Sheets("DATA")
.ListObjects("tb_DATA").Range.AutoFilter Field:=49, Criteria1:="CTD"
tbl.ListColumns(TagetColumnLabel).DataBodyRange.FormulaR1C1 = "=tb_DATA[[#This Row],[Service/Log Formula]]"
End With
End Sub

关于vba - 如何在 Excel 中通过 VBA 在筛选/可见单元格中复制/粘贴公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47202749/

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