[英]Excel 2010 index match VBA
嘗試了一切,似乎無法做到這一點。 嘗試用另一個工作表中的索引匹配項中的正確站點標記替換一個工作表中B行(SiteTag)中的值。
工作表(Site_Visit) SiteTag AL27 AS26 GBEM4 ...
工作表(站點) SiteTag 項目名稱 203AL27 AL27 203AS26 AS26 201GBEM4 GBEM4 ... ...
我需要將Sheets(“ Site_Visit”)中的SiteTag值替換為Sheets(“ Sites”)中的相應SiteTag。
現在,我只是簡單地嘗試使代碼將正確的索引值放入變量中,然后將其作為每個單元格的值放入該變量中,然后循環運行。 但是對於我的生命來說,無法獲得價值。 這就是我嘗試的變量(已聲明所有內容)。
ST_Cells2 = Application.WorksheetFunction.Index("Sites!A2:A34", Application.WorksheetFunction.Match("Site_Visit!B2", "Sites!B2:B34", 0), 0)
其中“ Sites!A2:A34”是適當替換值的范圍“ Sites_Visit!B2”是查找值“ Sites!B2:B34”是查找范圍
我收到運行時錯誤'1004' Unable to get the Match property of the WroksheetFunction class
。 有人有想法么?
Index和Match函數需要范圍,但是您正在向它們發送字符串。 將字符串轉換為Ranges的最簡單方法是使用Excel的Range函數:
st_cells2 = Application.WorksheetFunction.Index(Range("Sites!A2:A34"), Application.WorksheetFunction.Match(Range("Site_Visit!B2"), Range("Sites!B2:B34"), 0), 0)
我有同樣的錯誤,但是當我改為WorksheetFunction的“ Application”時,它運行正常:
Cells(12, 12).Value = Application.Index("Sheet1!B1:9", 2)
以某種方式直接從應用程序運行功能可以正常工作... / K
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.