返回列表 上一主題 發帖

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

回復 18# GBKEE


    天啊..神人一枚!!!

小弟 Orz...

深思中!!

TOP

回復 18# GBKEE


    我想要請問大大,
  1. Dim 數值表 As Variant, 陣列表 As Variant, E As Variant, EE As Variant
  2.     Dim Ar(), Ar1(1 To 2), Ar2(), i As Integer, M As Variant
  3.     '假設x1為1~n個sheet (但不知道有幾個sheet),由下面程式碼取得
  4.     For Each E In Sheets
  5.         If E.Name Like "數值*" Then 數值表 = 數值表 & "," & E.Name '字串:集合數值表
  6.         If E.Name Like "陣列*" Then 陣列表 = 陣列表 & "," & E.Name '字串:集合陣列表
  7.     Next
  8.     '*******************************************
  9.     數值表 = Split(Mid(數值表, 2), ",")   '陣列: 字串以","分割為陣列
  10.     陣列表 = Split(Mid(陣列表, 2), ",")
  11.     ReDim Ar2(0)                           '重置陣列
  12.     For Each E In Sheets(數值表)           '工作表陣列(數值表)
複製代碼
上面的「Dim 數值表 As Variant」他不是只是將「數值表」宣告成Variant

為什麼在下方「If E.Name Like "數值*" Then 數值表 = 數值表 & "," & E.Name」,這感覺有點像把相似「數值」的Sheet放入到數值表裡面,不是陣列也可以這麼做嗎?

還有下方的「For Each E In Sheets(數值表)」將數值表放到「E」裡面..數值表它不是只是普通的變數嗎? 怎麼可以把它變成像是陣列呢?

我是覺得...類似Sheets(數值(S)) <- 是放「數值(S)」陣列,將陣列放到E...

麻煩大大開示

TOP

回復 21# GBKEE


    感恩大大的細心耐心開示!

TOP

回復 21# GBKEE


    大大..小弟在字串集合表不太懂...字串集合表他是把與"數值"相似的放進去「數值表」裡面嗎?

但「數值表」他不是宣告Variant嗎? 他可以連續放Sheet字串嗎?

不是要像宣告動態陣列例如宣告「數值表()」嗎?

TOP

回復 21# GBKEE


    大大我明白了...他是用「,」分隔開來...我懂了...

TOP

回復 21# GBKEE


    大大想再請教一下,

上面有一行是「數值表 = Split(Mid(數值表, 2), ",")」

這行可以解釋一下嗎...數值表有可能會等於「數值、數值1、數值2....數值123456」假設前面的If ... Like "數值*******"

你這行「數值表 = Split(Mid(數值表, 2), ",")」可以解釋給小弟理解嗎...

還有一個問題就是,當整個字串成為不規律且將字串連結起來中間用逗號隔開「台灣,中國,俄羅斯,美國...」,我要怎麼遇到逗號就切割一個字串出來?

TOP

回復 26# GBKEE


    好喔 謝謝大大

TOP

回復 26# GBKEE


    哈囉 GBKEE 大大~

若是這個寫法"數值"與"陣列"比較非單純數值,若是日期呢?

TOP

回復 26# GBKEE


    關於前個問題的Match Date

將 M = Application.Match(Ar(i), ProductRun.Range("A:A"), 1)

=>  M = Application.Match(CLng(CDate(Ar(i))), ProductRun.Range("A:A"), 1)

謝謝你囉

TOP

回復 26# GBKEE


    GBKEE大大您好...很不好意思,我突然有一個問題

假設 "數值1" 在 "陣列1" 做Match

比對出來是好幾列,

那我要怎麼抓出比對後的列數,在B欄的內容?

例如:比對出來100列 (A100),那可以抓出 (B100) 的內容嗎?

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題