返回列表 上一主題 發帖

match 搜尋不同工作表可以指定變數嗎?

MATCH高手請進

陣列 表A ~ 表F
數值 表G ~ 表Z

VBA使用MATCH

要怎麼讓"數值"去比對"陣列"...

TOP

=Application.match(lookup_value,要match的陣列,match_type))

Lookup_value: 可以是數值或文字
Match_type 為可選數 -1,0,或1。

Match_type參數指定將Excel匹配lookup_value的與值查找的陣列。此參數的默認值是1。下面描述Match_type用法。

1或省略 match認為是小於或等於最大值lookup_value的。在值查找的陣列參數必須被放置在上升順序,例如:...- 2,-1,0,1,2,...,AZ,FALSE,TRUE。
0 Match找到第一個值,該值正好等於lookup_value的。在中值查找的陣列參數可以是任意順序。
-1 Match發現的最小值大於或等於lookup_value的。在值查找的陣列參數必須被放置在遞減順序,例如:TRUE,FALSE ZA,... 2,1,0,-1,-2,...,等等。

TOP

回復 2# ikboy

雖然不是我想要的答案,但很謝謝你的回覆...

TOP

回復 3# EGBT
是這樣嗎?
  1. Option Explicit
  2. Sub EX()
  3.     Dim 數值(), 陣列(), e As Variant, M As Variant
  4.     數值 = Array(0, "a" , 100 , "bb", 88)
  5.     陣列 = Array(88, "cc", 0, "a", "bb")
  6.     For Each e In 數值
  7.         M = Application.Match(e, 陣列, 0)
  8.         Debug.Print e, M '指令:檢視->即時運算視窗
  9.     Next
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# GBKEE


   我可以請問一下數值的Array跟陣列的Array是什麼..?

TOP

回復 4# GBKEE


    我應該問的不夠好...

應該說MATCH的數值跟陣列

數值與陣列分別在不同的Sheet

而數值跟陣列都有很多個Sheet

MATCH寫不好...

TOP

回復 5# EGBT


    如附檔

3個數值的Sheet

3個陣列的Sheet

然後每個數值的Sheet都要跑陣列的Sheet

11111.zip (7.14 KB)

檔案

TOP

Sub zz()
Dim no_ar, arr, sh_ar
sh_ar = [{"數值1","陣列1";數值2","陣列2";數值3","陣列3"}]
For i = 1 To UBound(sh_ar)
    With Sheets(sh_ar(i, 1))
        Set no_ar = .Range("a1:b" & .Cells(Rows.Count, 1).End(3).Row)
            arr = Sheets(sh_ar(i, 2)).[a1].CurrentRegion
            For j = 1 To no_ar.Rows.Count
                no_ar(j, 2) = Application.Match(no_ar(j, 1), arr, 0)
                    Next: End With: Next
Set no_ar = Nothing
End Sub

TOP

回復 8# ikboy


    很感謝你的回覆~這樣我有更多的問題想要請教你了..

TOP

回復 8# ikboy


    sh_ar = [{"數值1","陣列1";數值2","陣列2";數值3","陣列3"}]

我想請問一下 [{}] 這是什麼?

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題