[英]VLOOKUP macro in VBA
我需要有關 vlookup 的宏腳本的幫助。 我想在 vlookup 腳本中硬編碼表數組的信息。 現在的問題是,當我為 vlookup 函數添加一行時,它僅適用於最后一行,盡管所有行實際上都是來自數組表的信息。
我需要這方面的幫助,以確保如果宏運行,它將開始運行第一行宏並在第一行沒有匹配時轉到第二行。 第三行也一樣。 提前致謝。
Sub Macro7()
Range("L1").Select
Range("L1").FormulaR1C1 = "=VLOOKUP(RC[-1],{1603101,""BFF""},2,FALSE)"
Range("L1").FormulaR1C1 = "=VLOOKUP(RC[-1],{1603102,""DELTA""},2,FALSE)"
Range("L1").FormulaR1C1 = "=VLOOKUP(RC[-1],{1608063,""BIST""},2,FALSE)"
Lastrow = ActiveSheet.UsedRange.Rows.Count
Range("L1").Autofill Destination:=Range("L1:L" & Lastrow)
End Sub
嘗試這個:
Sub Macro7()
With ActiveSheet
.Range("L1:L" & .UsedRange.Rows.Count).FormulaR1C1 = "=VLOOKUP(RC[-1],{1603101,""BFF"";1603102,""DELTA"";1608063,""BIST""},2,FALSE)"
End With
End Sub
如果您願意讓 VBA 代碼自己進行計算而不是創建公式,則可以使用類似以下代碼的內容。 (通過公式進行的優點是每次數據更改時都會更新,而無需再次調用宏。)
Sub Macro7()
Dim r As Long
Dim v as String
With ActiveSheet
For r = 1 to Range("K" & .Rows.Count).End(xlUp).Row
Select Case .Cells(r, "K").Value
Case 1603101: v = "BFF"
Case 1603102: v = "DELTA"
Case 1608063: v = "BIST"
Case Else: v = "UNKNOWN!!"
End Select
.Cells(r, "L").Value = v
Next
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.