我的目标
找到包含唯一字符串的标题单元格所在的列。换句话说,我知道单元格的文本,我知道单元格位于第一行,但我不知道是哪一列。注意:我想要搜索整个文本,而不仅仅是其中一部分。注意2:文本可能会变化,所以我不能将值硬编码到我的代码中。相反,我需要使用存储该值的变量。 问题所在
当标题文本中没有换行符时,简单的
找到包含唯一字符串的标题单元格所在的列。换句话说,我知道单元格的文本,我知道单元格位于第一行,但我不知道是哪一列。注意:我想要搜索整个文本,而不仅仅是其中一部分。注意2:文本可能会变化,所以我不能将值硬编码到我的代码中。相反,我需要使用存储该值的变量。 问题所在
当标题文本中没有换行符时,简单的
newCol = Range("1:1").Find(headerText).Column
可以正常工作。然而,如果有一个换行符,这就不起作用了。它会抛出错误“对象变量或With块变量未设置”。以下是我的确切标题字符串:Incomplete Email
(more text)
我已经尝试过的内容
我还尝试使用WorksheetFunction.Match(headerText, Range("1:1"), 0)
,但是出现了同样的问题。
其他注意事项和要求
这是一个插件的一部分,因此,如果不必要,我不想更改用户的Excel工作表中的任何内容(即,我不希望删除回车符)。
从技术上讲,我正在使用一个函数进行操作:
Public Function getColumn(headerText As Variant)
getColumn = Range("1:1").Find(headerText).Column
End Function
谢谢!
Range("1:1").Find("*" & headerText & "*").Column
会发生什么? - BruceWaynenewCol
的?我输入了 "Test [alt-enter] Test" 并运行了newCol = Range("1:1").Find("Test").Column
,它可以正常工作。 - BruceWayneTrim
和CLEAN
函数吗? - Elbert VillarrealRange("1:1").Find(What:=headerText, LookAt:=xlPart).Column
。 - LocEngineer