作者Wilsondenq (卡车)
看板Visual_Basic
标题[VBA ] 关於for . next 逻辑问题
时间Thu Nov 17 02:01:50 2011
最近在写一个比对资料的小程式
由於有点时间没写程式
有点退步....
Excel Raw Data:
A B C
1
2 22 1 22
3 33 2 22
4 44 3 33
5 55 4 44
6 66 5 55
7 55 6 23
8 55 3
9 77 7
目的:
将A栏位中每一笔资料对C栏位对比
只要A栏位->Cells(x, 1) 都没有与任何一个C栏位值相同
就将A栏位与B栏位(ex. 22 1 )一起贴在其他活页簿
我的code:
Sub Com()
Dim t As Integer
Dim x As Integer
Dim y As Integer
y = 1
Application.ScreenUpdating = False
Sheets("test").Select
For x = 2 To 9 'A栏位loop
For t = 2 To 7 'C栏位loop
If Cells(x, 1).Value = Cells(t, 3).Value Then '如果值相同就离开for loop
Exit For
ElseIf t > 6 Then '如果比对超过六个(因为C栏位仅有六比资料)
y = y + 1
Range(Cells(x, 1), Cells(x, 2)).Select '选择A ,B栏位
Selection.Copy
Sheets("NewWords").Select '点选另外一个活页簿
Range(Cells(y, 1), Cells(y, 2)).PasteSpecial xlPasteValues '贴上值
End If
Next t
Next x
Application.ScreenUpdating = True
End Sub
执行结果:
A B
1 66 5
2
此时仅能印出第一笔比对到完全没有相同的资料
往下就印不出来了....
感觉for loop被中断
请问一下我的程式码是哪个地方的逻辑不合里呢
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.93.102
※ 编辑: Wilsondenq 来自: 220.132.93.102 (11/17 02:02)
※ 编辑: Wilsondenq 来自: 220.132.93.102 (11/17 02:03)
1F:→ tsongs:好像是Sheets("NewWords").Select换页後没换回来 11/17 02:55
2F:→ Wilsondenq:感谢大大 真的是ㄟ.... 11/17 23:58