之間參照這裏是我的問題:Excel的VBA - 範圍
我有來自兩個不同的片兩個範圍,r_products和r_ptypes,但相同的長度,即
Set r_products = Worksheets("Products").Range("A2:A999")
Set r_ptypes = Worksheets("SKUs").Range("B2:B999")
我在尋找的東西在r_products中,我必須在r_ptypes的相同位置選擇值。 Find方法的結果存儲在cellfound中。現在,請考慮以下數據:
Sheet: Products
A B C D
1 Product
2 S1
3 P1
4 P2
5 S2
6 S3
Sheet: SKUs
A B C D
1 SKU
2 S1-RP003
3 P1-BQ900
4 P2-HE300
5 S2-NB280
6 S3-JN934
現在,當我搜索S1,cellfound.Row給我值2,這是我的理解,總的工作表中第二行,但實際上是第一個行範圍(A2:A999)。當我使用這個cellfound.Row引用r_ptypes.cells(cellfound.Row)時,它將它作爲索引值並返回B3(P1-BQ900)而不是我想要的,即B2(S1 -RP003)。
我的問題是如何找到cellfound中的索引號?如果不可行,我如何使用行號從r_ptypes中提取數據?
這只是一個醜陋的解決方法,而不是一個真正的解決方案中的行。當範圍被移動時會發生什麼,因爲新的標題被插入到一張紙上?不要硬編碼,他應該嘗試計算範圍開始到單元格A1的差異。 – froeschli 2011-03-30 04:23:41
是的,這是我的問題..我想知道是否有辦法找到偏移量,而不是絕對行號,然後再移動到操縱性解決方案... – Ashok 2011-03-30 04:25:27
@froeschli,@Ashok,請參閱編輯。我太懶惰了,正如程序員所期望的那樣。 XD – 2011-03-30 04:32:49