我是vba的初学者......我正在做一个由6个序列组成的任务..
序列1
序列2
序列3
序列4
序列5
序列6
在表1中,我完成了所有6个序列的所有计算,并将结果列表。 序列的顺序根据约束而变化......即“1,2,3”,“1,2,4”,“1,3,4”,“1,3,5”......)......
是否可以从工作表1中选择所需的顺序及其内容(列表结果)并将其显示在另一张工作表中?
(即,对于序列顺序“1,2,4”,只有表1中的序列1,2和4应显示在另一张表中)
请帮我解决问题..
我想添加更多数据..
在 Sheet 1 中,我创建了一个表,该表给出了要遵循的序列顺序
输入数据
输入A
输入B
输入C(真或假)
约束
If(AND(A = B,C =“TRUE”),“1,2,3”,IF(AND(A< B> C =“TRUE”),“1,2,4” ,IF(AND(A = B,C = “FALSE”), “1,3,4”,IF(AND((A<> B,C = “FALSE”), “1,3,5”, “”))))
结果显示
1,2,3或1,2,4或1,3,4或1,3,5(取决于我的输入数据)
IN SHEET 2 我已经完成了所有六个序列的计算
SEQUENCE 1
A)验证X
B)验证Y
C)验证ZSEQUENCE 2
A)P
的验证B)Q的验证
C)R)的验证即可。 。 。
TILL SEQUENCE 6
现在,我想根据表1中显示的结果过滤我的序列
示例:如果表1中显示的序列是1,3,4,则只有这些序列应显示在表2中,或者从表2中选择的序列1,3,4将显示在表3中... < / p>
答案 0 :(得分:0)
我假设每个序列都是一个产生数字的公式(如果没有,发布一些样本数据)。还假设数字是您想要显示的顺序。假设范围内的样本数据(“A1:A4):
=D1+D2
=D3+D4
=E4+E4
=F4+F5
范围内的值(“A1:A4”):
5
4
1
2
所以你想要的订单是A3,A4,A2,A1。这是VBA代码:
'Copy the data so that we can maintain the original (optional)
For i = 1 to 4
ActiveSheet.Range("B1").Offset(i-1,0).Value = ActiveSheet.Range("A1").Offset(i-1,0).Value
next i
'Sort the new data
ActiveSheet.Columns("B").Sort key1:=Range("B1"), _
order1:=xlAscending, header:=xlNo
'Copy the new sorted rows to another worksheet
For i = 1 to 4
Sheets("Sheet1").Range("A1").Offset(i-1,0).Value = ActiveSheet.Range("B1").Offset(i-1,0).Value
next i
我做了很多假设,所以不确定我是否做对了。发布样本数据可以更轻松地回答。