请问一下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

这个是用于统计总数的,现在想能不能改成只要满足条件的单元格都复制到右边这样。
展开
 我来答
鱼木混猪哟
高粉答主

2016-06-25 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33683

向TA提问 私信TA
展开全部
最好还是截图说明,揣摩了半天你的意思,不知道是不是这样:
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中?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式