请问一下EXCEL如何用vba语言把表格满足条件的单元个复制到另外相应的列?谢谢!
是这样,连续提了两个问题都被屏蔽了,现在我就不贴图了。尽量用文字来解释清楚。我有一组数据,一共10列,暂时都设定为不规则的数字就好。然后我设定两个条件,条件1和条件2,比...
是这样,连续提了两个问题都被屏蔽了,现在我就不贴图了。尽量用文字来解释清楚。
我有一组数据,一共10列,暂时都设定为不规则的数字就好。然后我设定两个条件,条件1和条件2,比如条件1是2,条件2是4。C2和C3分别满足条件1和条件2,就是说设定条件1为tiaojian1,条件2为tiaojian2,tiaojian1=C2,jiaojian2=C3,就把C4单元格的内容复制到表格的右边另外对应编号的列上。我的数据是10列,从1排到10,右边也从1排到10有十列。
Sub 统计()
Dim arr(1 To 10) '1
On Error Resume Next
For d = 1 To 10
arr(d) = 0
Next
r = Range("B2").End(xlDown).Row
c = Range("B2").End(xlToRight).Column
f1 = [o2]
f2 = [o3]
For i = 2 To c
For j = 3 To r - 1
If Cells(j, i) = f1 And Cells(j + 1, i) = f2 Then
arr(Cells(j + 2, i)) = arr(Cells(j + 2, i)) + 1
End If
Next
Next
[P5].Resize(10, 1) = Application.Transpose(arr)
End Sub
这个是用于统计总数的,现在想能不能改成只要满足条件的单元格都复制到右边这样。 展开
我有一组数据,一共10列,暂时都设定为不规则的数字就好。然后我设定两个条件,条件1和条件2,比如条件1是2,条件2是4。C2和C3分别满足条件1和条件2,就是说设定条件1为tiaojian1,条件2为tiaojian2,tiaojian1=C2,jiaojian2=C3,就把C4单元格的内容复制到表格的右边另外对应编号的列上。我的数据是10列,从1排到10,右边也从1排到10有十列。
Sub 统计()
Dim arr(1 To 10) '1
On Error Resume Next
For d = 1 To 10
arr(d) = 0
Next
r = Range("B2").End(xlDown).Row
c = Range("B2").End(xlToRight).Column
f1 = [o2]
f2 = [o3]
For i = 2 To c
For j = 3 To r - 1
If Cells(j, i) = f1 And Cells(j + 1, i) = f2 Then
arr(Cells(j + 2, i)) = arr(Cells(j + 2, i)) + 1
End If
Next
Next
[P5].Resize(10, 1) = Application.Transpose(arr)
End Sub
这个是用于统计总数的,现在想能不能改成只要满足条件的单元格都复制到右边这样。 展开
1个回答
展开全部
最好还是截图说明,揣摩了半天你的意思,不知道是不是这样:
Sub 统计()
Dim arr(1 To 10) '1
On Error Resume Next
'For d = 1 To 10
' arr(d) = 0
'Next
r = Range("B2").End(xlDown).Row
c = Range("B2").End(xlToRight).Column
f1 = [o2]
f2 = [o3]
For i = 2 To c
For j = 3 To r - 1
If Cells(j, i) = f1 And Cells(j + 1, i) = f2 Then
Cells(j + 2, i + 14) = Cells(j + 2, i)
End If
Next
Next
'[P5].Resize(10, 1) = Application.Transpose(arr)
End Sub
Sub 统计()
Dim arr(1 To 10) '1
On Error Resume Next
'For d = 1 To 10
' arr(d) = 0
'Next
r = Range("B2").End(xlDown).Row
c = Range("B2").End(xlToRight).Column
f1 = [o2]
f2 = [o3]
For i = 2 To c
For j = 3 To r - 1
If Cells(j, i) = f1 And Cells(j + 1, i) = f2 Then
Cells(j + 2, i + 14) = Cells(j + 2, i)
End If
Next
Next
'[P5].Resize(10, 1) = Application.Transpose(arr)
End Sub
更多追问追答
追答
你的截图来说,只要B2:K20中的数据,满足两个相邻单元格都是3,就将这两个单元格之后的数据复制到右边对应的列?
比如我看到B10中,第一第二个都是3,那就把第三个3放到T10中?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询