Board logo

標題: [發問] VBA 條件收尋 [打印本頁]

作者: willeddie    時間: 2023-3-17 17:57     標題: VBA 條件收尋

[attach]35976[/attach]
各位前輩好
根據儲存格A3,B2 C2 D2 E2 的儲存格條件下,收尋A3字串將資料帶入B3 C3 D3 E3的處存格裡。
感謝前輩教導,目前在初學著自學中
作者: 准提部林    時間: 2023-3-18 16:55

回復 1# willeddie


請上傳檔案//
這公式也可以的
作者: hcm19522    時間: 2023-3-19 10:29

https://blog.xuite.net/hcm19522/twblog/590761429
作者: Andy2483    時間: 2023-3-20 09:52

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

回復 1# willeddie


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

[attach]35981[/attach]

執行前:
[attach]35982[/attach]

執行結果:
[attach]35983[/attach]

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)