[VBA ] Excel VBA 比对并复制贴上

楼主: darklimit (darklimit)   2020-11-11 22:58:28
各位大神
目前有个小需求是需要复制贴上
但For的写法变成只是照贴
For i = 2 to 4
For j = 2 to 5
If sheet1.Cells(i,j) <> Sheet2.Cells(i,j) Then
Sheet1.Cells(i,j).Copy
Sheet2.Cells(i,j).PasteSpecial
Sheet1
10/1 10/2 10/3 10/4
A 1 1 1 1
B 2 2 2 2
C 3 3 3 3
Sheet2 资料只有首栏A, C, B及日期资讯,内容为空白
需要将Sheet1的资料贴到Sheet2
但因为首栏资料顺序会变动,需要比对首栏后在贴上后面的值
现在的写法结果是变成照贴,结果就会错误
C 应该是要3 B应该是要贴2,不知道应该怎么修改才好?
麻烦各位大神提供建议,谢谢
Sheet2
10/1 10/2 10/3 10/4
A 1 1 1 1
C 2 2 2 2
B 3 3 3 3
作者: hulapig (呼拉猪)   2020-11-12 00:29:00
不太清楚你要的效果,程式码是有不同就把sheet1同cell的值贴到sheet2,这跟把sheet1.range(a2:c5)照贴过去一样
作者: lalacos123 (大叔是只猫)   2020-11-12 00:58:00
应该是在说 sheet1每行顺序会变动 导致贴到sheet2会贴错吧?简单来说是想要让资料对号入座?不要B贴到C C贴到A?
作者: by135tw (monkeytw)   2020-11-12 01:36:00
" target="_blank" rel="nofollow">
照L大的意思是这样吗?
楼主: darklimit (darklimit)   2020-11-13 00:12:00
谢谢B大的神解,这样的写法可以做到想要的结果没错没有想到用Rows 的方式,比对到贴整列就可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com