如何编写vba代码从图纸中选择行?
我是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应显示在另一页中) 请帮我解决我的问题 我想添加更多数据 在表1中,我创建了一个表,给出了要遵循的顺序 输入数据 输入 输入B 输入C(正确或错误) 约束 如果(和(A=B,C=“TRUE”)、“1,2,3”、如果(和(AB,C=“TRUE”)、“1,2,4”、如果(和(A=B,C=“FALSE”)、“1,3,4”、如果(和((AB,C=“FALSE”)、“1,3,5”、“1”)) 显示的结果 1,2,3或1,2,4或1,3,4或1,3,5(取决于我的输入数据) 在表2中,我对所有六个序列进行了计算 序列1 A) X的验证 B) Y的验证 C) Z的验证 序列2 A) p的验证 B) Q值的验证 C) R的验证 。 . . . 直到序列6 现在,我想根据表1中显示的结果过滤我的序列如何编写vba代码从图纸中选择行?,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应显示在另一页中) 请帮我解决我的问题 我想添加更多数据 在表1中,我创建了一个表,给出了要遵
示例:如果表1中显示的序列是1,3,4,则表2中只能显示这些序列,或者从表2中选择的序列1,3,4将显示在表3中…我假设每个序列都是一个生成数字的公式(如果不是,则发布一些样本数据)。还假设数字是您希望显示内容的顺序。假设样本数据在以下范围内(“A1:A4”): 在范围(“A1:A4”)内的类似值: 因此,您需要的顺序是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
我做了很多假设,所以不确定我是否做对了。发布样本数据更容易回答。您可以使用与每个序列相关的表格或复选框。然后,如果复选框被选中或单元格为真,则执行该序列。您的每个序列都需要检查该控件的T或F,或者使用类似A1的单元格进行se对1进行排序,然后从下拉列表中选择“真”或“假”。@TKEyi60:谢谢您的回答。.请查找添加到问题中的数据……我仍然感到困惑。“输入a”是表1单元格A1中的数据吗?还是某个数值?“a)验证X”。什么是“a”?什么是“X”?
5
4
1
2
'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