[算表] rangefind和offset結合應用

看板Office作者 (= =)時間8年前 (2017/07/21 11:18), 8年前編輯推噓0(0012)
留言12則, 1人參與, 最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1500607085.A.9E8.html ※ 編輯: shezion (60.249.160.220), 07/21/2017 11:28:21

07/21 11:32, , 1F
全部儲存格worksheet.cells
07/21 11:32, 1F

07/21 11:34, , 2F
可再設個迴圈,搜尋甲、乙
07/21 11:34, 2F

07/21 11:36, , 3F
逐步執行到原文巨集的set s = .find(...)並無當掉,這方面
07/21 11:36, 3F

07/21 11:37, , 4F
提供檔案測試會比較清楚
07/21 11:37, 4F

07/21 11:37, , 5F
反而是loop while not c is nothing的部分出現錯誤訊息
07/21 11:37, 5F

07/21 11:38, , 6F
巨集內也無變數c的使用,為何這裡會出現該變數,就不太了
07/21 11:38, 6F

07/21 11:38, , 7F
07/21 11:38, 7F

07/21 11:43, , 8F
改為變數s還比較覺得合理,但會無窮迴圈。
07/21 11:43, 8F

07/21 11:44, , 9F
可以一開始搜尋到時先取得該range.address,再於loop
07/21 11:44, 9F

07/21 11:45, , 10F
while不等於findnext所取得的range.address
07/21 11:45, 10F
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

07/21 15:34, , 11F
甲或乙如設於array內,索引值可以迴圈變數帶入,帶出甲或
07/21 15:34, 11F

07/21 15:35, , 12F
乙後,置入range.find 參數what的位置
07/21 15:35, 12F
成功了 謝謝SOYO大大 ※ 編輯: shezion (60.249.160.220), 07/21/2017 16:33:13
文章代碼(AID): #1PSN9jde (Office)
文章代碼(AID): #1PSN9jde (Office)