看板 Visual_Basic 關於我們 聯絡資訊
各位大神 目前有個小需求是需要複製貼上 但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
hulapig: 不太清楚你要的效果,程式碼是有不同就把sheet1同cell 11/12 00:29
hulapig: 的值貼到sheet2,這跟把sheet1.range(a2:c5)照貼過去一樣 11/12 00:31
lalacos123: 應該是在說 sheet1每行順序會變動 導致貼到sheet2會貼 11/12 00:58
lalacos123: 錯吧?簡單來說是想要讓資料對號入座?不要B貼到C C貼 11/12 00:58
lalacos123: 到A? 11/12 00:58
by135tw: https://imgur.com/b8tZSYF 照L大的意思是這樣嗎? 11/12 01:36
darklimit: 謝謝B大的神解,這樣的寫法可以做到想要的結果沒錯 11/13 00:12
darklimit: 沒有想到用Rows 的方式,比對到貼整列就可以了 11/13 00:14