返回列表 上一主題 發帖

[發問] 搜尋代號後,尋找對應列數的儲存格

回復 19# abc9gad2016


    Sheets("成品").[L2].Resize(1, 200) = ""  --> 清除上一次查詢資料

For J = 10 To UBound(Arr, 2)
-->因為搜尋範圍為J64:BR64
設定範圍Arr = Range([工作表1!BR64], [工作表1!A65536].End(3))
UBound(Arr, 2) Arr最後一欄 BR

TOP

回復  abc9gad2016


    Sheets("成品").[L2].Resize(1, 200) = ""  --> 清除上一次查詢資料

For  ...
samwang 發表於 2021-1-26 17:39



   明白了,感謝S大

TOP

本帖最後由 Andy2483 於 2023-11-24 15:37 編輯

回復 17# 准提部林


    謝謝論壇,謝謝前輩指導
後學藉此帖學習物件(儲存格)的使用,學習到很多知識,以下是心得註解,請前輩再指導

Option Explicit
Sub FindData()
Dim xR As Range, xA As Range, xF As Range, j%
'↑宣告變數:(xR,xA,xF)是儲存格變數,j是短整數
Set xR = [尋找!a2]
'↑令xR變數是"尋找"表的[A2]儲存格
xR(1, 2).Resize(1, 200) = ""
'↑令xR變數右1格儲存格擴展向右200格範圍儲存格值是空字元
Set xA = Sheets("工作表1").UsedRange
'↑令xA變數是 "工作表1"表有使用儲存格擴展最小方正範圍儲存格
Set xF = xA.Columns(1).Find(xR, Lookat:=xlWhole)
'↑令xF變數是 xA變數第1欄以 Range.Find 方法回傳物件(儲存格),
'亦以xR變數尋找 xA變數第1欄裡值全同的儲存格,回傳給xF變數

If xR = "" Or xF Is Nothing Then Exit Sub
'↑如果xR變數值是空字元 或xF是無物件? True就結束程式執行
For j = 2 To xA.Columns.Count
'↑設順迴圈!j從2 到 xA變數欄數
    If xF(1, j) <> "" Then Set xR = xR(1, 2): xR = xA(2, j)
    '↑如果xF變數第1列j變數欄儲存格值不是空的?
    'True就令R變數是右1格儲存格,令xR變數是xA變數第2列j變數欄儲存格值

Next j
End Sub
學無止境!
或許真相只有一個,但是找尋真相的方法不只一種
謝謝前輩常用不同的方法指導後學
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

(輸入編號12057) google網址:https://hcm19522.blogspot.com/
google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題