返回列表 上一主題 發帖

[發問] SUMPRODUCT函數+OR問提請教

本帖最後由 PD961A 於 2010-7-4 10:01 編輯

請問各位先進
同樣用ISNUMBER(SEARCH
請問在SEARCH($G$1:$G$6000,"MCL")),和("C2",$E$1:$E$6000))
    為什麼位子範圍要顛倒?有特別的用意嗎?
謝謝...

TOP

回復 10# zz5151353


    DEAR  HSIEH   PD961A  ZZ5151353  ALL  大大 -
       感謝您們之指導.程式TEST後運作正常   THANKS*10000

TOP

本帖最後由 Andy2483 於 2023-3-23 11:47 編輯

回復 1# KITTYBOY
回復 8# Hsieh


    謝謝論壇,謝謝前輩
後學藉此帖複習 在同一陣列裡收集結果資料,將局部資料(結果資料)寫入儲存格,
學習的方案如下,請各位前輩指教

原始資料:


執行結果1:


執行結果2:產生一個新活頁簿


Option Explicit
Sub TEST()
Dim Brr, i&, Tr&, TT&, N&, Tf$, Tg$, j%
'↑宣告變數:Brr是通用型變數,(i,Tr,TT,N)是長整數變數,
'(Tf,Tg)是字串變數,j是短整數變數

Brr = Range([R1], Cells(Rows.Count, "E").End(xlUp))
'↑令Brr這通用型變數是 二維陣列,以[R1]到 E欄最後有內容儲存格值帶入
For i = 2 To UBound(Brr)
'↑設順迴圈!i從2到 Brr陣列縱向最大索引列號
   Tf = Trim(Brr(i, 2)): Tg = Brr(i, 3): Tr = Val(Brr(i, 14))
   '↑令Tf這字串變數是 i迴圈列第2欄Brr陣列值去除頭尾空白字元的新字串
   '↑令Tg這字串變數是 i迴圈列第3欄Brr陣列值的新字串
   '↑令Tr這長整數變數是 i迴圈列第14欄Brr陣列值經轉化為數值的整數

   If Tf Like "CC*" Then
   '↑如果Tf變數是以 "CC"字串開頭?
      If Tg Like "*日立*" Or Tg Like "*MCL*" Then
      '↑如果 Tg變數裡包含"日立"字串,或 Tg變數裡包含"MCL"字串?,
      '這兩個其中只要有一個條件成立?

         TT = TT + Tr: N = N + 1
         '↑令TT這長整數變數是 TT變數自身 + Tr變數,
         '令N這長整數變數累加 1  (PS:N變數一開始的初始值是0)

         '(N變數是要指定符合條件的資料要陸續放在Brr陣列的哪個列位)
         For j = 1 To UBound(Brr, 2): Brr(N + 1, j) = Brr(i, j): Next
         '↑設順迴圈!j從1到 Brr陣列橫向最大索引欄號,
         '令(N變數+1)列第j變數欄的Brr陣列值是 i迴圈列第j變數欄的Brr陣列值

      End If
   End If
Next
[B2] = TT
'↑令[B2]儲存格值是 TT變數
Workbooks.Add
'↑令產生一個新的活頁簿
[A1].Resize(N + 1, UBound(Brr, 2)) = Brr
'↑令新活頁簿第1個工作表的[A1]儲存格擴展向下 N變數+1列,
'向右擴展 Brr陣列橫向最大索引欄號數欄,這範圍儲存格值 以Brr陣列值帶入

Cells.Columns.AutoFit
'↑令整個工作表全部欄位 自動調整欄寬
ActiveWindow.Zoom = 75
'↑令視窗顯示75%
'100 表示正常大小、200 表示雙倍大小,依此類推)

MsgBox TT
'↑令跳出提示窗顯示: TT變數值
Erase Brr
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題