作者anhbclbe (Crush)
看板Office
標題[算表] 兩個資料表的比對及資料帶入
時間Tue Nov 10 11:48:19 2015
軟體: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