自动文本大写Excel VBA

底特律

我目前正在尝试根据工作表更改编写一个宏,其中表列中的字母会自动转换为大写字母。因此,例如,如果我在单元格中输入“ abcde-12345-678”,它将自动更正为“ ABCDE-12345-678”。在进行了一些挖掘之后,我发现了一些对某些人有用的代码,但是我很难对其进行调整以满足自己的需求。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("E:E")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target = UCase(Target)
    Application.EnableEvents = True
End Sub

我想谈两件事。首先,该代码当前不适用于我。根据作者(位于Sheet1对象中),我将其放置在正确的位置。有什么想法为什么这不起作用?

第二个是我想修改代码以引用表列而不是范围。例如,我尝试将上述代码的第二行更改为以下内容(我的表的名称为ReviewTracker,而我感兴趣的列为“产品编号”):

If Intersect(Target, Range(ReviewTracker[[@Headers],[Product Number]])) Is Nothing Then Exit Sub

这将返回一个编译错误“ Expected:列表分隔符或”。因此,显然有问题,但是希望它可以帮助说明我正在尝试实现的目标。

在此先感谢您的帮助。

-西恩

卡齐米兹·贾沃(Kazimierz Jawor)

第一。由于种种原因,您可以禁用事件。让我们确保可以进行以下操作的事件:

转到VBA编辑器>>打开立即窗口>>在此处编写:Application.EnableEvents = true>>按Enter

第二。要检查交点是否匹配ListObject table内的适当列,您需要这样的操作:

If Intersect(Target, Range("ReviewTracker[Product Number]")) is Nothing Then

假设这ReviewTracker是表名并且Product Number是表列。您不需要,#Headers因为它仅引用标题行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用VBA自动为excel中的选定列自动设置大写格式?

来自分类Dev

VBA宏-Excel中我的文本的自动翻译

来自分类Dev

自动分组Excel VBA

来自分类Dev

Excel VBA自动筛选

来自分类Dev

Excel至大写VBA而不循环

来自分类Dev

Excel至大写VBA而不循环

来自分类Dev

如何通过Excel VBA在自动电子邮件正文上加粗文本或给文本上色

来自分类Dev

Excel VBA自动填充目标

来自分类Dev

Excel VBA 自动筛选代码

来自分类Dev

Excel VBA 自动填充问题

来自分类Dev

文本到行VBA Excel

来自分类Dev

Excel VBA文本到数字

来自分类Dev

Excel VBA使文本暂时显示

来自分类Dev

Excel VBA使文本暂时显示

来自分类Dev

自动完成,仅包含文本而不包含数字ComboBox Excel VBA

来自分类Dev

在Excel中使用大写字母选择范围-VBA

来自分类Dev

VBA Excel宏消息框自动关闭

来自分类Dev

VBA Excel自动更改颜色和值

来自分类Dev

Excel VBA自动更新列(日期)

来自分类Dev

Access 2013 VBA自动使Excel丢失窗口

来自分类Dev

使用VBA在Excel中设置自动筛选

来自分类Dev

VBA代码以在Excel中自动单击确定

来自分类Dev

尝试创建自动发票Excel VBA

来自分类Dev

Excel VBA自动调整大小的ListView列

来自分类Dev

VBA Excel宏消息框自动关闭

来自分类Dev

使用VBA自动生成Excel表

来自分类Dev

自动化Excel VBA函数

来自分类Dev

Excel VBA结束自动保存准时循环

来自分类Dev

VBA excel为什么我的VBA编码中的单词“ EnableEvents”不大写?