2014-02-12 110 views
-3

需要用另一個表格中的另一個值替換一個Excel值。有些值不需要替換,所以我需要一個公式或代碼來識別它。兩張紙的順序不一樣。例如。 列「司通Alt_rep」(6)是更新後的值,以取代在(200個+行) 片2「司通Alt_rep」(14000個+行)需要用另一個表格中的另一個值替換一個Excel值

+1

歡迎來到SO!有關發佈問題,請參閱[我們的指南](http://stackoverflow.com/help/on-topic)。具體而言,「詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試的解決方案,爲什麼他們不工作,以及預期的結果。「 – ARich

回答

0

我可以想象這將是.Find.Offset複製數據從另一個片電流片:

Dim t_val as Variant 

t_val = other_sheet.Range("A:A").Find(What:="value to lookup", LookIn:=xlValues, _ 
     LookAt:=xlWhole, MatchCase:=True).Offset(0, 2) 

current_sheet.Range("G:G").Find(What:="value to lookup", LookIn:=xlValues, _ 
     LookAt:=xlWhole, MatchCase:=True).Offset(0, 6) = t_val 

我不得不使用變異爲不同的宏,它可以在不認爲做......不過這是我認爲應該工作?除非不需要抵消,否則偏移需要與數據所在的位置重合。在這種情況下,你可以把它拿出來,然後你需要的就是:

other_sheet.Range("A:A").Find(What:="value to lookup", LookIn:=xlValues, _ 
     LookAt:=xlWhole, MatchCase:=True).copy _ 
     destination:= current_sheet.Range("G:G").Find(What:="value to lookup", _ 
     LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True) 
+0

範圍究竟代表什麼?列或行? – user3130669

+0

這是我的代碼:Dim t_val As Variant t_val = Sheet2.Range(「A3:H281」)。Find(「A3:H281」,LookIn = xlValues,LookAt(xlWhole,MatchCase = True).Range(「A2 「).Offset(280,281).Select) Sheet1.Range(」A1:Q40194「)。Find(」A1:Q40194「,LookIn = xlValues,LookAt(xlWhole,MatchCase = True).Range(」A1「 ).Offset(40193,40194).Select)= t_val繼續收到「編譯錯誤:無效的過程 – user3130669

+0

是啊這是所有錯誤.... 代碼應該做的是要去一個特定的範圍列或行或任一組合)並找到一個特定的id,如「apple」,並將該特定的id返回/複製到不同的範圍(列或行或任一組合) – mond1111

相關問題