[VBA ] Excel VBA 比對並複製貼上

看板Visual_Basic作者 (Yu)時間4年前 (2020/11/11 22:58), 編輯推噓0(008)
留言8則, 4人參與, 4年前最新討論串1/1
各位大神 目前有個小需求是需要複製貼上 但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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.110.189.141 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1605106710.A.345.html

11/12 00:29, 4年前 , 1F
不太清楚你要的效果,程式碼是有不同就把sheet1同cell
11/12 00:29, 1F

11/12 00:31, 4年前 , 2F
的值貼到sheet2,這跟把sheet1.range(a2:c5)照貼過去一樣
11/12 00:31, 2F

11/12 00:58, 4年前 , 3F
應該是在說 sheet1每行順序會變動 導致貼到sheet2會貼
11/12 00:58, 3F

11/12 00:58, 4年前 , 4F
錯吧?簡單來說是想要讓資料對號入座?不要B貼到C C貼
11/12 00:58, 4F

11/12 00:58, 4年前 , 5F
到A?
11/12 00:58, 5F

11/12 01:36, 4年前 , 6F
照L大的意思是這樣嗎?
11/12 01:36, 6F

11/13 00:12, 4年前 , 7F
謝謝B大的神解,這樣的寫法可以做到想要的結果沒錯
11/13 00:12, 7F

11/13 00:14, 4年前 , 8F
沒有想到用Rows 的方式,比對到貼整列就可以了
11/13 00:14, 8F
文章代碼(AID): #1Vg_mMD5 (Visual_Basic)
文章代碼(AID): #1Vg_mMD5 (Visual_Basic)