[算表] 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