2017-04-09 154 views
-1

我在excel中有一個公式,那就是IF語句,vlookup和它們之間的組合將在所有使用循環編碼的單元格中應用。將組合公式轉換爲VBA

這個公式:

= IF((VLOOKUP(G4;$A$4:$B$9;2;FALSE))=1;"terhubung";IF((VLOOKUP(G4;$A$4:$C$9;3;FALSE))=1;"unreach";IF((VLOOKUP(G4;$A$4:$D$9;4;FALSE))=1;"reject";IF((VLOOKUP(G4;$A$4:$E$9;5;FALSE))=1;"workload";"")))) 

解釋有關的公式,我試試這個圖像捕捉。 image description here

的問題是如何將公式可以轉移到VBA使用button_click

感謝

+1

https://msdn.microsoft.com/library/office/ff193019 – Slai

+0

代碼來修改其他代碼是一個不平凡的任務,也有一些谷歌的結果在那裏爲「VBA修改另一個項目」 。 –

回答

0

您可以替換用下面的公式編碼...

=INDEX($B$3:$E$3,MATCH(1,INDEX($B$4:$E$9,MATCH(G4,$A$4:$A$9,0),),0)) 

如果你想通過VBA插入公式並只保留值,你可以嘗試下面的東西。

Sub InsertFormula() 
    Range("H4:H9").Formula = "=INDEX($B$3:$E$3,MATCH(1,INDEX($B$4:$E$9,MATCH(G4,$A$4:$A$9,0),),0))" 
    Range("H4:H9").Value = Range("H4:H9").Value 
End Sub 
+0

又一個問題,這個公式又如何保存值,我可以在所有單元格中插入一行。就像一個查找功能,查找值可以自動移動。請指教。使用循環或你的想法。 –

+0

我不確定你在這裏問什麼。但是建議的公式和VBA代碼具有足夠的動態性,可以識別G4:G9範圍內的查找值,並在查找範圍A4:A9中標識它們的位置,即使您將查找值向上或向下移動,也會得到正確的列標題在範圍中。 – sktneer

+0

非常感謝您的建議。我會嘗試一下,希望答案。 –