作者shezion (= =)
看板Office
標題[算表] rangefind和offset結合應用
時間Fri Jul 21 11:18:02 2017
軟體:excel
版本:2013
大家好
最近想在用VBA寫一個巨集,功能是用range.find搜尋"A"活頁簿-工作表1內的特定值
(ex:"甲"or"乙")然後將"甲"或"乙"右邊一格儲存格內容變成B活頁簿-工作表1"A1"儲
存格的值。可是不知道如何將range.find的搜尋值變成"甲"或"乙",以及搭配offset
一起應用,因為每次一執行excel就會當掉。
Sub search()
With Workbooks(A).Worksheets(1).Range("a1:f10") 'range範圍的部分要如何改成
搜尋全部儲存格
Set s = .Find("甲", LookIn:=xlValues) '搜尋值該如何設定成甲or乙
'使用逐步執行到該行excel就會當掉
If Not s Is Nothing Then
Do
s.offset(0, 1).Value = workbooks(B).Worksheets(1).[A1]
Set s = .FindNext(s)
Loop While Not c Is Nothing
End If
End With
End Sub
請求各位大大指教,感謝
--
桃
~● ╱
. ◢██◣ 探猶 俺
園 ╱ ╱
█ ◥▋ 主公!救我!
囊如 中在
實 畫
. . + ╱ ╱ ╱
◣◤□︵□▋ /
取 取百
至 家
◆●●●
Φ▃▃▃▃▃●█◤
◥\ ▆_◤▃●~▃▃▃▃¢ 物 敵萬
名
. . . . ◥\ ◤
█◤ ╱ ╱
~● 之軍
歸
ψfishhzy123 . . ▆▆◤ ╱
crabwind改 洨
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.160.220
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1500607085.A.9E8.html
※ 編輯: shezion (60.249.160.220), 07/21/2017 11:28:21
1F:→ soyoso: 全部儲存格worksheet.cells 07/21 11:32
2F:→ soyoso: 可再設個迴圈,搜尋甲、乙 07/21 11:34
3F:→ soyoso: 逐步執行到原文巨集的set s = .find(...)並無當掉,這方面 07/21 11:36
4F:→ soyoso: 提供檔案測試會比較清楚 07/21 11:37
5F:→ soyoso: 反而是loop while not c is nothing的部分出現錯誤訊息 07/21 11:37
6F:→ soyoso: 巨集內也無變數c的使用,為何這裡會出現該變數,就不太了 07/21 11:38
7F:→ soyoso: 解 07/21 11:38
8F:→ soyoso: 改為變數s還比較覺得合理,但會無窮迴圈。 07/21 11:43
9F:→ soyoso: 可以一開始搜尋到時先取得該range.address,再於loop 07/21 11:44
10F:→ soyoso: while不等於findnext所取得的range.address 07/21 11:45
SOYO大不好意思 我把S key錯成C了
※ 編輯: shezion (60.249.160.220), 07/21/2017 12:01:38
感謝SOYO大 加上And s.Address <> firstAddress就可以動了
可以請SOYO大指導一下上述迴圈搜尋甲或乙的寫法嗎~
※ 編輯: shezion (60.249.160.220), 07/21/2017 13:38:54
11F:→ soyoso: 甲或乙如設於array內,索引值可以迴圈變數帶入,帶出甲或 07/21 15:34
12F:→ soyoso: 乙後,置入range.find 參數what的位置 07/21 15:35
成功了 謝謝SOYO大大
※ 編輯: shezion (60.249.160.220), 07/21/2017 16:33:13