返回列表 上一主題 發帖

[發問] VBA 條件收尋

[發問] VBA 條件收尋

00000.png
7 天前 17:50

各位前輩好
根據儲存格A3,B2 C2 D2 E2 的儲存格條件下,收尋A3字串將資料帶入B3 C3 D3 E3的處存格裡。
感謝前輩教導,目前在初學著自學中
will

回復 1# willeddie


請上傳檔案//
這公式也可以的

TOP

隨意窩 "EXCEL迷"  blog  或https://blog.xuite.net/hcm19522/twblog
已收集8500篇 EXCEL函數

TOP

本帖最後由 Andy2483 於 2023-3-20 09:58 編輯

回復 1# willeddie


    謝謝前輩發表此主題與情境
後學練習亂數.陣列的解決方案如下,請前輩參考

VBA 條件收尋_20230320_1.zip (17.76 KB)

執行前:
20230320-1.jpg
4 天前 09:51


執行結果:
20230320-2.jpg
4 天前 09:51


Option Explicit
Sub TEST()
Dim Brr, i&, j%
'↑宣告變數:Brr是通用型變數,i是長整數,j是短整數
Brr = Range([E1], Cells(Rows.Count, "A").End(3))
'↑令Brr這通用型變數是二維陣列,以[E1]到A欄最後有內容儲存格值帶入
For i = 2 To UBound(Brr)
'↑設順迴圈!i從2到 Brr陣列縱向最大索引號
   For j = 2 To UBound(Brr, 2)
   '↑設順迴圈!j從2到 Brr陣列橫向最大索欄號
      Brr(i, j) = Trim(Split(Split(Brr(i, 1), Brr(1, j))(1) & "(", "(")(0))
      '↑令i迴圈列j迴圈欄Brr陣列值是
      'i迴圈列第1欄陣列值 用第1列第j迴圈欄陣列值做分割成一維陣列,
      '取索引號1的陣列值,以此陣列值連接"("符號,成為新字串
      '再將此新字串用"("符號分割成一維陣列,取索引號0的陣列值

   Next
Next
[A1].Resize(UBound(Brr), UBound(Brr, 2)) = Brr
'↑令[A1]擴展向下Brr縱向最大索引列號數,擴展橫向最大索引欄號數,
'這範圍儲存格值以Brr陣列值帶入

Erase Brr
'↑釋放變數
End Sub
看得懂是應該的,懂得應用才像學生,臉皮厚點學會更謹慎積極

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題