VBA如何根据行标题和列标题区分确定在那一列查询?

我想使用列字符串名称而不是列字母/数字标识符在 VBA 中定义一个范围。以下是我目前的做法:

从上面的代码中,我基本上将 AMPTab 工作表中 C2 列中的所有内容(直到列中的最后一个非空单元格)设置为名为 objectRange 的范围。

除了使用“C2”和“C”,有什么方法可以使用列标题吗?例如,C 列的标题为“对象:名称”,并希望使用该标题而不是列字母:

整个目的是“对象:名称”列标题不会更改,但列字母可能会从 C --> D 更改。

好的,所以我正在尝试编写VBA代码,该代码将返回一个列字母,以后可用于选择要使用的列:

但不是" AC "而是调用函数以基于标题返回列字母。

现在我的返回字母的功能正在运行,它在第一行中搜索所需的标题(文本),如果发生匹配,则返回列字母。

所以现在当尝试使用此功能时...

但是,这会导致错误。 (我假设它将字面上的文字放在引号内,而不是调用我的函数)

如何在其他子菜单中使用此功能,以选择具有适当标题的列?在此先感谢您的帮助!


您是否可以重写以使用Range.Find并在找不到标头的情况下返回变体?


不起作用是因为Columns希望您将其传递给字符串。但是,您尚未告诉VBA ColFind函数输出字符串。您可以通过将函数定义为以下内容来解决此问题:


感谢所有帮助,我终于使它成功了!原来我的代码确实有效,但我犯了一个菜鸟错误。我使用alt-enter格式化了我试图在Excel中选择的列标题。我以为标题是"客户电子邮件",但实际上由于我的错误而只是"客户"。我告诉程序寻找不存在的东西。同样感谢QHarr,您的方法也有效,而且我了解到返回列字母只是不必要的工作。


01、如何在已有的单元格中批量加入一段固定字符?

例如:在单位的人事资料,在excel中输入后,由于上级要求在原来的职称证书的号码全部再加两位,即要在每个人的证书号码前再添上两位数13,如果一个一个改的话实在太麻烦了,那么我们可以用下面的办法,省时又省力:

1)假设证书号在A列,在A列后点击鼠标右键,插入一列,为B列;

了吗?鼠标放到B2位置,单元格的下方不是有一个小方点吗,按着鼠标左键往下拖动直到结束。当你放开鼠标左键时就全部都改好了。若是在原证书号后面加13 则在B2单元格中写入:=A2 & “13” 后回车。

02、如何设置文件下拉窗口的最下面的最近运行的文件名个数?

打开“工具”,选“选项”,再选“常规”,在“最近使用的文件清单”下面的文件个数输入框中改变文件数目即可。若不在菜单中显示最近使用的文件名,则将“最近使用的文件清单”前的复选框去掉即可。

03、在EXCEL中输入如“1-1”、“1-2”之类的格式后它即变成1月1日,1月2日等日期形式,怎么办?

这是由于EXCEL自动识别为日期格式所造成,你只要点击主菜单的“格式”菜单,选“单元格”,再在“数字”菜单标签下把该单元格的格式设成文本格式就行了。

04、在EXCEL中如何使它象WORD一样的自动定时保存文件?

我要回帖

更多关于 vba中查找内容并返回所在行 的文章

 

随机推荐