我想要做的是在一张纸上有一个用户输入字段,用户在其中将文本输入到一个单元格中。然后他们可以运行一个宏来选择不同的工作表,然后在查找功能中使用该输入的文本。
找到文本后,需要选择找到文本的整个列,以及右侧到下一个填充单元格的所有单元格(在“找到”单词/短语所在的行中)。然后将删除这些单元格。
我有两个主要问题。我似乎无法找到如何使用Find
具有变化值的函数(我说的是值,但我的意思是在用户输入的字段中放入任何单词、短语等)。我只能搜索特定值,而不能引用用户输入的字段。
第二个问题是选择列 - 一旦Find
函数找到用户输入的值/单词/短语,它就会选择它所在的单元格。我希望它选择整个列(以及它右侧的列直到特定行中的下一个填充单元格)。
这是一个类似的问题,因为我似乎无法引用用户输入值/单词短语所在的列,因为它会不断变化。我只能选择某个列,问题是它选择的列可能不需要在下次运行宏时删除,因为它正在查找值的工作表会不断更新。
这是我到目前为止的代码。
Sub Macro3()
Sheets("Instructions").Select
Range("C53").Select
Selection.Copy
Sheets("Forecast").Select
Cells.Find(What:="4150T83G01", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Columns("BW:BY").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
End Sub
所以基本上,范围 C53 永远不会改变。我一直希望它是用户输入要找到的单词/短语/值的地方。
代码所说的地方Cells.Find(What:="4150T83G01"
- 我需要这个不是指那个特定的值,而是指用户"Instructions"
在单元格 C53 的工作表上输入的单词/短语/值。
最后,在代码所说的地方Columns("BW:BY").Select
- 我需要它来引用用户输入的单词/短语/值所在的列以及找到的单元格右侧的列,直到下一个填充的单元格,而不是特定的列BW:BY
。
我希望这是有道理的,非常感谢任何帮助!谢谢!