看板 Office 關於我們 聯絡資訊
軟體:excel boba 版本:2007 各位好,我在EXCEL寫VBA時卡關了,上來求救 我有兩個資料表(sheet)要做比對,並自動帶入資料 分別是sheet1 & CP 我在sheet1建立了基本資料,而CP是使用者要填寫的 若使用者在CP輸入的資料,等於sheet1的資料時,將會在CP帶入相對應的資料 下面是我寫在 worksheet_change的程式,但是執行不會有反應: worksheets(“sheet1”).select worksheets(“sheet1”).range(“A50”).select lastspec = activecell.end(xlup).row '找出sheet1的A行最後一筆資料,並將列號弄成變數供下面的迴圈使用 worksheets(“CP”).select '回到CP for I = 2 to lastspec if worksheets(“CP”).range(“C” & I ).value = worksheets(“sheet1”).range(“A” & I ).value then worksheets(“CP”).range(“D” & I ).value = worksheets(“sheet1”).range(“B” & I ).value next i '因為有表頭,所以從第2列開始 利用迴圈,當CP的C行資料 等於 sheet1的A行資料時,sheet1的B行資料會帶入 CP的D行 如果我開一個表單(userform)並將程式寫在按鍵(Commandbutton)裡,是可以執行的 但是用表單的話,當sheet1的基本資料有變動時,CP內的資料卻不會同步更新 若我使用公式(vlookup)寫在CP的D行,也可以達到我的需求,sheet1基本資料有變動時也會同步更新 但我寫公式的儲存格,若是被使用者不小心輸入資料,公式就不見了,需要重新複製將公式複製過來,相當麻煩,所以我想寫在VBA裡面 請各位先進指導我該怎麼寫才可以達到我的要求? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.179.140 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1447127302.A.4FE.html
soyoso: 那在sheet1內也設定個worksheet_change,變動時再更新cp資 11/10 12:07
soyoso: 料;或是到thisworkbook內用workbook_sheetchange 11/10 12:08