Excel VBA – 重新初始化一个范围
在macros中,我在文件的每个工作表中应用相同的处理。
我想确定哪一列包含一个特定的文本,这在每个工作表中可能不同。
代码如下:
For Each Cell_version In Ws.Range("1:1") If Ws.Range(convertir(Cell_version.Column) & "1") = "ICI" Then Column_version = convertir(Cell_version.Column) Trouve_col = True MsgBox (Column_version) End If If Trouve_col = True Then Exit For Next Cell_version
在第一个工作表上,一切正常工作,并find适当的列column D
的文本。 在第二个工作表中,如果该列在D列之后,则它也起作用。 但是,如果是column A, B, or C
,则不会返回包含所需文本的列。 我该如何解决这个问题?
我的VBA有点生疏,但我总是喜欢“ Find
命令,因为它是search工作表的最快方法,也许是这样:
Sheets("YourSheet").Select Cells(1, 1).Select Set found = Cells.Find(What:="ICI", After:=ActiveCell, LookIn:=xlValues, _ LookAt:=xlColumn, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not found Is Nothing Then found.Activate MsgBox(Selection.Row) End If