如何编写用于从工作表中选择行的vba代码?

时间:2013-11-27 12:09:08

标签: vba excel-vba excel

我是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)验证Z

SEQUENCE 2

A)P

的验证

B)Q的验证

C)R)的验证

即可。 。 。

TILL SEQUENCE 6

现在,我想根据表1中显示的结果过滤我的序列

示例:如果表1中显示的序列是1,3,4,则只有这些序列应显示在表2中,或者从表2中选择的序列1,3,4将显示在表3中... < / p>

1 个答案:

答案 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

我做了很多假设,所以不确定我是否做对了。发布样本数据可以更轻松地回答。