You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中为包含**的单元格设置加粗并移除所有*

Excel 两项操作实现方案:加粗含连续星号单元格 + 移除单个星号

一、将包含连续星号(**)的单元格设置为加粗格式

方法1:手动操作(适合小范围数据)

  • 选中目标单元格区域
  • 按Ctrl + F打开查找窗口,点击「选项」展开更多设置
  • 在「查找内容」栏输入**,点击「查找全部」
  • 按Ctrl + A选中所有匹配结果,再按Ctrl + B(或点击工具栏加粗按钮)完成格式设置

方法2:VBA脚本(适合批量/大范围数据)

按Alt + F11打开VBA编辑器,插入模块后粘贴以下代码,运行即可:

Sub BoldCellsWithDoubleAsterisk()
    Dim rng As Range
    Dim cell As Range
    
    Set rng = Application.InputBox("请选择需要处理的单元格区域", Type:=8)
    
    For Each cell In rng
        If InStr(cell.Value, "**") > 0 Then
            cell.Font.Bold = True
        End If
    Next cell
End Sub

二、移除表格中所有单个星号(*)

注意:需区分单个星号与连续星号,避免误删**中的星号。

方法1:手动替换(简单高效)

  • 选中目标单元格区域
  • 按Ctrl + H打开替换窗口,点击「选项」
  • 在「查找内容」栏输入~*(~是通配符转义符,用于匹配真实的*字符)
  • 「替换为」栏留空,点击「全部替换」即可移除所有单个星号

方法2:VBA脚本(精准匹配单个星号)

如果需要更精准地排除连续星号中的单个星号,可使用正则表达式实现:

Sub RemoveSingleAsterisks()
    Dim rng As Range
    Dim cell As Range
    Dim regEx As Object
    
    Set regEx = CreateObject("VBScript.RegExp")
    regEx.Global = True
    regEx.Pattern = "(?<!\*)\*(?!\*)" ' 匹配前后都不是星号的单个*
    
    Set rng = Application.InputBox("请选择需要处理的单元格区域", Type:=8)
    
    For Each cell In rng
        If cell.Value <> "" Then
            cell.Value = regEx.Replace(cell.Value, "")
        End If
    Next cell
End Sub

内容的提问来源于stack exchange,提问作者user19560886

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:15:46