返回列表 上一主題 發帖

[發問] VBA 條件收尋

[發問] VBA 條件收尋


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

回復 1# willeddie


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

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

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

回復 1# willeddie


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

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

執行前:


執行結果:


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

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題