gpt4 book ai didi

vba - 获取符合条件的所有行并显示在新工作表中

转载 作者:行者123 更新时间:2023-12-02 17:04:33 24 4
gpt4 key购买 nike

我正在尝试自动化 Excel,以便它允许我显示另一个选项卡中满足特定条件的所有记录。

我的源表是(分析选项卡): enter image description here

我已根据列名称命名所有范围。例如命名范围 Vehicle=Analysis!$A$2:$A$3000

所有范围都转到第 3000 行。

下拉菜单是单元格 C1,即车辆名称和要使用的过滤器。

我的目标工作表如下: enter image description here

在单元格 B3 中,我有以下数组公式,但我尝试调整但未成功。 =IF(COUNTIF(vehicle,DropDown)<ROWS($A$1:$A1),"",INDEX(DataTable,LARGE(IF(DropDown=Litres,ROW(INDIRECT("1:"&ROWS(vehicle)))),ROW(Analysis!$A1)),MATCH(Analysis!A$3,Analysis!$A$3:$E$3,0)))

这不能正常工作。如有任何帮助,我们将不胜感激。

总而言之,我想返回 Tab 分析中车辆等于单元格 C1 的所有行。当数据每天发生变化时,我需要自动执行此操作。

更新 enter image description here enter image description here

最佳答案

您将需要使用 VBA。执行此操作的一个好方法是添加自定义函数,然后在另一个单元格中使用它。例如,在单元格 D1 中输入 =MyFunction(C1)。然后在VBA中创建一个模块并添加以下内容(可能包含一些错误,因为我没有测试它):

Function MyFunction(parVal As String) As String
'Clear what is there now
ActiveSheet.Range("A3", "I3000").ClearContents

'Add new rows
varRange = Sheets("Analysis").UsedRange
varCount = 2
For varRow = 1 To varRange.Rows.Count
If varRange(varRow, 1) = parVal Then
varRange(varRow, 1).EntireRow.Copy
varCount = varCount + 1
ActiveSheet.Cells(varCount, 1).EntireRow.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next varRow
MyFunction = "Found " & (varCount - 2) & " rows"
End Function

关于vba - 获取符合条件的所有行并显示在新工作表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856262/

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