[算表] rangefind和offset結合應用

作者: shezion (= =)   2017-07-21 11:18:02
軟體: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
請求各位大大指教,感謝
作者: soyoso (我是耀宗)   2017-07-21 11:32:00
全部儲存格worksheet.cells可再設個迴圈,搜尋甲、乙逐步執行到原文巨集的set s = .find(...)並無當掉,這方面提供檔案測試會比較清楚反而是loop while not c is nothing的部分出現錯誤訊息巨集內也無變數c的使用,為何這裡會出現該變數,就不太了解改為變數s還比較覺得合理,但會無窮迴圈。可以一開始搜尋到時先取得該range.address,再於loopwhile不等於findnext所取得的range.address甲或乙如設於array內,索引值可以迴圈變數帶入,帶出甲或乙後,置入range.find 參數what的位置

Links booklink

Contact Us: admin [ a t ] ucptt.com