Note: The other languages of the website are Google-translated. Back to English

如何在Excel中的大写字母之前插入空格?

假设您有一个文本字符串列表,这些单词之间的所有空格均被意外删除,如下所示: InsertBlankRowsBetweenData,现在您要在每个字母前添加大写字母以将单词分隔为 在数据之间插入空白行。 您如何快速在大写字母前添加空格,而不是在Excel中一一键入空格?


使用用户定义的功能在大写字母之前插入空格

不幸的是,您没有直接方法可以在Excel中的大写字母前添加空格,但是,您可以创建用户定义函数来解决此任务。

1。 激活包含要添加空格的文本字符串的工作表。

2。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications窗口.

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

VBA代码:在大写字母之前插入空格

Function AddSpaces(pValue As String) As String
'Update 20140723
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
   xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
   If xAsc >= 65 And xAsc <= 90 Then
      xOut = xOut & " " & VBA.Mid(pValue, i, 1)
   Else
      xOut = xOut & VBA.Mid(pValue, i, 1)
   End If
Next
AddSpaces = xOut
End Function

4。 然后保存并关闭此代码,返回到工作表,然后输入此公式 = addspaces(A1) 除数据之外,将其插入空白单元格,请参见屏幕截图:
doc-add-spaces-before-uppercase-1

5。 然后将填充手柄拖到要包含此公式的范围内,您将在每个大写字母之前插入空格。
doc-add-spaces-before-uppercase-1

轻松删除单元格中的前导/后缀/多余空格

Kutools for Excel的 删除空间 该实用程序使Excel用户可以轻松地快速删除所选单元格中的所有前导空格,尾随空格,多余空格或所有空格。


广告删除空间1

使用VBA代码在大写字母前插入空格

这是可以帮助您的另一个VBA代码,请执行以下操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications窗口.

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

VBA代码:在大写字母之前插入空格

Sub AddSpacesRange()
'Update 20140723
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
    xValue = Rng.Value
    xOut = VBA.Left(xValue, 1)
    For i = 2 To VBA.Len(xValue)
       xAsc = VBA.Asc(VBA.Mid(xValue, i, 1))
       If xAsc >= 65 And xAsc <= 90 Then
          xOut = xOut & " " & VBA.Mid(xValue, i, 1)
       Else
          xOut = xOut & VBA.Mid(xValue, i, 1)
       End If
    Next
    Rng.Value = xOut
Next
Application.ScreenUpdating = True
End Sub

3。 然后按 F5 键执行此代码,将弹出一个提示框,让您选择要使用的数据范围。
doc-add-spaces-before-uppercase-1

4。 然后点击 OK 要关闭此提示框,请立即在大写字母之前插入空格,请参见屏幕截图:
doc-add-spaces-before-uppercase-1


使用Kutools for Excel在每个大写字母前插入空格

Kutools for Excel的 添加文本 实用程序可以帮助您绕过VBA宏并在Excel中轻松在每个大写字母之前插入空格。

Kutools for Excel - 包括 300 多个方便的 Excel 工具。 全功能免费试用 30-天,无需信用卡! 立即免费试用!

1。 选择您要在大写字母之前插入空格的范围,然后单击 库工具 > 文本 > 添加文本。 看截图:

2。 在打开的“添加文本”对话框中,在 文本 框,选中 仅添加到选项 并选择 第一个字母为大写 来自 仅添加到 下拉列表。

3。 点击 Ok 按钮,在每个大写字母前插入空格,如下图所示:
doc在大写字母7之前添加空格

Kutools for Excel - 包括 300 多个方便的 Excel 工具。 全功能免费试用 30-天,无需信用卡! 立即行动吧!

说明:如果第一个字母为大写字母,则此方法还将在单元格的开头添加空格。 你可以申请 库工具 > 文本 > 删除空间 删除所选单元格中的所有前导空格。


相关文章:


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

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

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (9)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
我需要 excel 帮助我想在单元格中找到大写字母。 例如:Sagar Paul MBA 16:04 我希望突出显示 MBA
该评论由网站上的主持人最小化
我希望你能看到它并试一试。 Sub Test() Dim Rg As Range, xCell As Range Dim i As Long Dim xChar As String Set Rg = Application.Selection For Each xCell In Rg For i = 1 To xCell.Characters.Count xChar = xCell.Characters(i, 1 ).Text If Asc(xChar) > 64 And Asc(xChar) < 91 Then xCell.Characters(i, 1).Font.Color = vbRed End If Next Next End Sub
该评论由网站上的主持人最小化
您好,您的代码运行良好。 您知道如何调整代码 20140723 以在多张纸上工作吗? 我想在整个工作簿中的大写字母之间添加空格。 谢谢!
该评论由网站上的主持人最小化
您好

首先非常感谢您的代码示例和解释。 它非常适合我的情况。

我只有 1 个问题,一些字符串包含 URL 之类的单词,它们不应该分开。
您是否看到除了“URL”之外添加空格的方法?

如果您能提供帮助,那就太好了。 我已经尝试了一段时间,但我不知道如何解决这个问题..


诚挚的问候
卢克
该评论由网站上的主持人最小化
嗨,
感谢您的评论和建议。 我已将您的建议发送给 Kutools 项目团队,我相信他们会尽快改进。
该评论由网站上的主持人最小化
找到解决方案了吗?
该评论由网站上的主持人最小化
嗨想问你是否为你的案例找到了解决方案,如果你找到了解决方案,请提供给我
该评论由网站上的主持人最小化
此函数处理给定解决方案未涵盖的两个问题:
1. 非英文文本(带变音符号)
2. 后面不应该有空格的连续大写字母

` 私有函数 AddSpaces(sText As String)As String
' 在大写字母之前插入一个空格,除非连续字符都大写。
' 最后更新时间:2022-07-04
'
Dim sRet 为字符串,i 为整数,sChar 为字符串,bPrevWasUCase 为布尔值

sRet = 左(sText,1)
对于 i = 2 到 Len(sText)
sChar = Mid(sText, i, 1)
如果 sChar = UCase(sChar) 而不是 bPrevWasUCase 则
sRet = sRet & " " & sChar
bPrevWasUCase = 真
其他
sRet = sRet & sChar
bPrevWasUCase = 假
结束如果
接下来,我

AddSpaces=sRet
结束函数`
该评论由网站上的主持人最小化
你好朋友,

谢谢你的分享。 我试过你的 VBA 代码,但它不起作用。 我们的 VBA 代码可以处理非英文文本。 我已经测试了法语文本,并且在大写字母之前成功插入了空格。

Sincerely,
曼迪
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护