创建一个将cell.value
在工作表 A 中获取(字符串)的宏,然后转到工作表 B,使用cells.find
方法找到与字符串匹配的单元格。
例子
SheetA.activecell.value = "Harry Potter"
set myvar = SheetA.activecell.value
sheetB.select
Cells.Find(What:=myvar, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Select
假设上述语法正确,将自动选择工作表 A 中包含字符串“Harry Potter”的单元格。
这就是我的问题所在。我想对整个列进行循环,为列Cells.Find
中的每个单元格执行函数。
例如,SheetA.cells(3 ,1)
包含“哈利波特”。在每次循环完成时使用偏移函数,包含要找到的值的单元格将偏移 1 行。
因此,在循环的下一次迭代中,Cells(4, 1)
SheetA 中将包含要在cells.find
函数中使用的值。
比如说,该值是字符串“Iphone Charger”。然后,cells.find(what:=myvar (Basically myvar = "Iphone Charger") 将在工作表 B 中执行。
依此类推,在工作表 A 的列下。
其次,我想复制工作表 A 中的某些值。
设想:
If "Harry Potter" is found in sheetA then
Do an `activecell.offset` function to copy some values in the same row as the cell in sheet A and
Copy those values to worksheet B using Copy destination
Else if "Harry Potter" can be found then
Jump to the next cell value.
End if
Keep looping until worksheet B hits an empty cell, that is cells(X , 1).value = ""
Then the whole macro ends
一直在杀死我的脑细胞来解决这个问题,如果本论坛中的任何人能帮助我,我将不胜感激。