跳到主要内容

 如何从文本字符串中提取大写字母或以大写字母开头的单词?

如果现在有文本字符串列表,则只想从单元格中提取所有大写字母或以大写字母开头的单词。 如何在Excel中解决呢?

使用用户定义的功能从文本字符串中提取大写字母

使用用户定义的功能从文本字符串中提取以大写字母开头的单词


使用用户定义的功能从文本字符串中提取大写字母

以下VBA代码可以帮助您仅从单元格中提取大写字母,请按照以下步骤操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2. 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。

VBA代码:仅从文本字符串中提取大写字母:

函数ExtractCap(Txt As String)As String'Updateby Extendoffice
    Application.Volatile Dim xRegEx作为对象集xRegEx = CreateObject(“ VBSCRIPT.REGEXP”)xRegEx.Pattern =“ [^ AZ]” xRegEx.Global = True ExtractCap = xRegEx.Replace(Txt,“”)Set xRegEx = Nothing End Function

3。 然后保存代码并关闭此代码,返回工作表,输入以下公式: = EXTRACTCAP(A2) 到要输出结果的空白单元格中,然后将填充手柄向下拖动到要应用此公式的单元格中,并且所有大写字母均已被提取,请参见屏幕截图:


使用用户定义的功能从文本字符串中提取以大写字母开头的单词

如果您需要从文本字符串中提取以大写字母开头的单词,则以下VBA代码可能会对您有所帮助。

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码复制并粘贴到 模块 窗口。

VBA代码:提取以大写字母开头的单词:

函数StrExtract(Str作为字符串)As字符串'Updateby Extendoffice
    Application.Volatile Dim xStrList as变体Dim xRet as字符串Dim I只要Len(Str)= 0,则退出函数xStrList = Split(Str,“”)如果UBound(xStrList)> = 0,则对于I = 0到UBound( xStrList)如果xStrList(I)= StrConv(xStrList(I),vbProperCase),则xRet = xRet&xStrList(I)&“”如果下一个StrExtract = Left(xRet,Len(xRet)-1)结束,如果结束函数

3。 然后保存代码并关闭代码窗口,输入以下公式: = StrExtract(A2) 放入数据旁边的空白单元格中,然后将填充手柄向下拖动到要获取结果的单元格中,并提取所有以大写字母开头的单词,请参见屏幕截图:

最佳办公生产力工具

热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

kte选项卡201905


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
jestem Excelowym laikiem, ale próbowałam postępować zgodnie z wytycznymi... oworzyłam alt+F11, insert->module i wstawiłam skopiowaną formułę. Przy próbie zapisu wywala mi błąd, coś o makrach... help!
This comment was minimized by the moderator on the site
Hello, Hania

Could you give your problem more detailed? Please insert your problem as a screenshot here if you don't mind.
Thank you!
This comment was minimized by the moderator on the site
Hi,

How can I assign this function to 1 specific worksheet only?
This comment was minimized by the moderator on the site
Nvm - not necessary anymore
This comment was minimized by the moderator on the site
hi,

thanks for this formula, however my =EXTRACTCAP(A2) keeps coming back with an error.

can you help?
This comment was minimized by the moderator on the site
Hi, Sonia,
The above User Defined Function works well in my Excel workbook, which Excel version do you use?
Or have you copied and pasted the above code into your VBA module?
This comment was minimized by the moderator on the site
У вас так и написано "вставьте следующий код в модуль".
У меня тоже ошибка
This comment was minimized by the moderator on the site
у вас страница была открыта на русском языке? Удалите /ru из ссылки: https://www.extendoffice.com/documents/excel/4554-excel-extract-capital-letters.html#a1
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations