我敢打赌,你肯定是这么个流程:先是信心满满地打开输入法,熟练地敲下 ①、②、③……一路顺风顺把地干到⑩。然后,当你想要那个梦寐以求的⑪时,世界突然安静了。输入法的候选框里,啥都没有。就是没有。死活没有。
那一瞬间的错愕,我懂。太懂了。
你开始怀疑人生,是不是自己的输入法版本太旧了?或者,是不是有什么神秘的快捷键自己不知道?于是你打开Excel的“插入”菜单,点那个“符号”按钮,心里想着,这总是官方渠道了吧,总该有了吧?
然后,更绝望的事情发生了。你瞪着屏幕,鼠标在那一堆乱码似的符号里大海捞针,从“带括号的字母数字”翻到“数字形式”,再到“杂项符号”,眼睛都快瞎了,传说中的带圈11就像个幽灵,你听说过,但就是见不着。你能找到①到⑳,没错,二十!但它们很多时候在某些字体下,要么显示不出来,要么就是个方块问号,这又是为什么?因为这些是特殊的Unicode字符,不是所有字体都支持。而且,万一你的老板要的是“带圈的51”呢?你总不能再去Unicode里找吧?根本就没有!
所以,这根本不是一个“打出来”的问题。这是一个“造出来”的问题。
我们得换个思路。放弃幻想,准备战斗。下面我给你掰扯掰扯,从青铜到王者的几种搞法,你自己看情况选用。
青铜段位:土法炼钢,画图硬上
这个方法,简单粗暴,毫无技术含量,但,它管用。尤其是在你只需要一两个,并且这辈子都不打算再改它的时候。
具体操作就是:插入形状。
- 在“插入”选项卡里,找到“形状”,选择那个圆圈,就是“椭圆”。
- 按住
Shift键,在你的单元格旁边拖动鼠标,这样就能画出一个完美的正圆形。 - 双击这个圆,或者右键点击,设置它的格式。把“形状填充”选为“无填充颜色”,把“形状轮廓”选成黑色,粗细调到你觉得顺眼的磅数。
- 接着,再插入一个“文本框”,在里面输入数字“11”。把文本框的背景也设置为“无填充”,边框设置为“无轮廓”。
- 最后,也是最考验你耐心的一步:把这个写着“11”的文本框,拖到那个空心圆圈的中间。用鼠标或者键盘的方向键,像素级别地去微调,直到你觉得它看起来像那么回事了。
- 为了防止它们“分家”,最好按住
Ctrl键同时选中圆圈和文本框,然后右键,“组合”起来。
搞定。一个看起来还不错的带圈11就诞生了。
但这玩意的缺点,简直能写一篇论文。它就是个“图”,一个漂浮在单元格上方的幽灵。它不属于任何单元格,你筛选、排序、或者用公式引用它,门儿都没有!你调整一下行高列宽,它可能就直接跟你的文字错位到姥姥家去了。我曾经为了一个项目报告,手动对齐了五十多个这样的“假圈圈”,那天晚上,我梦见的都是在像素级别移动圆形,简直是工伤。
所以,这招,只适用于救急,一次性买卖。
白银段位:另辟蹊径,拼音指南的魔法
如果说画图法是体力活,那这个方法,就算得上是智取了。它利用了Excel一个极其冷门但关键时刻能救命的功能——拼音指南。
你可能都没正眼瞧过它。在“开始”选项卡,字体设置那一栏,一个“文”字上面带着拼音的那个小图标,就是它。这玩意本来是给汉字标拼音的,但我们可以“滥用”一下它的功能。
操作步骤来了,看仔细:
- 先在一个单元格里,输入数字
11。 - 选中这个单元格。
- 点击那个“拼音指南”的图标。会弹出一个“编辑拼音”的对话框。
- 重点来了:在那个用来输入拼音的框里,你别输拼音,你输入一个空心圆圈符号
○。这个符号你可以用输入法打“yuanquan”找到,或者直接从别处复制过来。 - 先别急着点确定。你会看到下面的预览里,那个圈圈小得可怜,还歪在一边。这时候,你需要点击对话框里的“设置”按钮。
- 在“拼音属性”设置里,把“对齐方式”从“居中”改成“自动调整”。把“字号”往大了调,多试试,比如调到跟你单元格里“11”的字号差不多大,或者更大一点。
- 一路确定。
见证奇迹的时刻。一个看起来相当完美的带圈11,就这么被“拼”出来了,而且它老老实实地待在单元格里!你调整行高列宽,它也会跟着动,虽然有时候对齐还是有点小瑕疵,但比那个画出来的图,不知道高到哪里去了。
这个方法的优点是,它生成的东西是在单元格内部的,看起来非常专业。但缺点也很明显:单元格里的“真实内容”其实还是那个数字“11”,那个圈只是个“附加上去的格式”。所以,你依然不能用它直接进行数学运算。而且批量制作起来,也挺累人的。
黄金段位:终极方案,VBA一键生成
好了,如果你需要处理一大堆这种带圈数字,比如从11到100,手动搞,那纯粹是跟自己过不去。这时候,就该让VBA(Visual Basic for Applications)这个大杀器登场了。
别一听代码就头大。这东西比你想象的要简单。你只需要复制粘贴,然后按一下按钮,剩下的交给Excel自己去头疼。
首先,你得让你的Excel显示“开发工具”选项卡。随便在哪个菜单上右键,点“自定义功能区”,然后在右边的列表里,把“开发工具”那个框勾上。
然后,按Alt + F11,打开VBA编辑器。那是一个看起来很复古的窗口。在左边的项目窗口里,找到你的工作簿,右键点击,选择“插入” -> “模块”。然后,把下面这段代码,原封不动地复制粘贴到右边那个白色的代码区域里。
```vb Sub AddCircleNumbers() ' 声明变量 Dim cell As Range Dim shp As Shape
' 检查用户是否选择了单元格
If Selection.Cells.Count = 0 Then
MsgBox "请先选择需要添加带圈数字的单元格!", vbInformation, "提示"
Exit Sub
End If
' 遍历所有选中的单元格
For Each cell In Selection
' 确保单元格里有内容
If Not IsEmpty(cell) Then
' 删除单元格里可能已经存在的旧形状,防止重复添加
For Each shp In cell.Worksheet.Shapes
If Not Intersect(shp.TopLeftCell, cell) Is Nothing Then
' 粗略判断形状是否在单元格内,更精确的判断会更复杂
' 这里简化为只要左上角在单元格内就删除
shp.Delete
End If
Next shp
' 计算圆圈的位置和大小
Dim circleSize As Single
circleSize = Application.Min(cell.Width, cell.Height) * 0.9 ' 圆圈大小为单元格宽高较小值的90%
Dim leftPos As Single
leftPos = cell.Left + (cell.Width - circleSize) / 2
Dim topPos As Single
topPos = cell.Top + (cell.Height - circleSize) / 2
' 添加一个圆形
Set shp = cell.Worksheet.Shapes.AddShape(msoShapeOval, leftPos, topPos, circleSize, circleSize)
' 设置圆形的格式
With shp
.Fill.Visible = msoFalse ' 无填充
.Line.ForeColor.RGB = vbBlack ' 黑色边框
.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = vbBlack ' 文本颜色为黑色
.TextFrame2.TextRange.Text = cell.Value ' 将单元格的值作为文本
.TextFrame2.VerticalAnchor = msoAnchorMiddle ' 垂直居中
.TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter ' 水平居中
.TextFrame2.TextRange.Font.Size = circleSize / 2 ' 字体大小自动适应
.TextFrame2.WordWrap = msoFalse ' 不自动换行
End With
End If
Next cell
End Sub ```
关掉VBA编辑器。现在,魔法时刻到了。
回到你的Excel工作表。在一些单元格里输入11, 12, 13, 50, 99……任何你想要的数字。然后,把这些单元格全部选中。
点击“开发工具”选项卡,找到“宏”,点击它。在弹出的窗口里,你应该能看到一个叫“AddCircleNumbers”的宏,选中它,点击“运行”。
Biu!
一瞬间,所有你选中的单元格里的数字,都被套上了一个大小合适、位置居中的完美圆圈。这些圆圈是独立的形状,跟第一种方法一样,但区别在于,你不需要一个个去画,去对齐。VBA帮你完成了所有枯燥乏味的工作。 你可以一次性给几百个单元格加上圈圈,那种感觉,简直不要太爽。
这个VBA宏,就是你解决这个问题的最终兵器。它帮你实现了全自动化,唯一的缺点就是,它生成的东西还是“图”,不能直接运算。但对于绝大多数只需要“看起来是带圈数字”的场景,它已经是天花板级别的解决方案了。
所以,下次再有人问你“Excel带圈的11怎么打”,你就可以云淡风轻地把这篇文章甩给他,然后看着他从一脸懵逼到恍然大悟,最后对你顶礼膜拜。这,就是一个Excel老炮儿的自我修养。
【搞定一个Excel带圈的11,这事儿吧,说大不大,说小,有时候真能把人逼疯。】相关文章:
excel的图表图例怎么改12-05
怎么设置excel的标题栏12-05
excel 大括号怎么打出来12-05
微信的excel怎么发到qq?12-05
导出Excel表格乱码怎么办?12-05
excel的正负怎么打出来12-05
搞定一个Excel带圈的11,这事儿吧,说大不大,说小,有时候真能把人逼疯。12-05
忘了excel文档密码怎么办12-05
excel 2007 怎么合并单元格12-05
excel怎么取消截图快捷键12-05
怎么让excel固定不动了12-05
excel2003 行高怎么设置12-05
用excel怎么计算标准差12-05