ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 318|回复: 11

圆圈里>=10的数字遇到的问题。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-16 01:48 | 显示全部楼层 |阅读模式
image.png

判断字号大小结果也不对。


                With .TextFrame2.TextRange
                     .Text = ii
                     If ii <= 9 Then
                          .Font.Size = Ww * 0.6
                     Else
                          .Font.Size = Ww * 0.3
                     End If
                    
                     
                End With



  1. Sub Ll()
  2.    Dim Shp As Shape, Shps As Shapes
  3.        Set Shps = Sheet1.Shapes
  4.        For ii = Shps.Count To 1 Step -1
  5.            Set Shp = Shps(ii)
  6.            Shp.Delete
  7.        Next ii
  8.        Dim Ll, Tt, Ww, Hh
  9.            Ww = 30
  10.            Hh = Ww
  11.            Ll = 10
  12.            Tt = 30
  13.       
  14.        For ii = 1 To 22
  15.             
  16.             Set Shp = Shps.AddTextbox(msoTextOrientationHorizontal, Ll, Tt, Ww, Hh)
  17.             Ll = Ll + Ww * 1
  18.             With Shp
  19.                 .Fill.Visible = msoFalse
  20.                 '.Line.Visible = msoTrue
  21.                 .AutoShapeType = msoShapeOval
  22.                 With .TextFrame2.TextRange
  23.                      .Text = ii
  24.                      If ii <= 9 Then
  25.                           .Font.Size = Ww * 0.6
  26.                      Else
  27.                           .Font.Size = Ww * 0.3
  28.                      End If
  29.                     
  30.                      
  31.                 End With
  32.                 .TextEffect.Alignment = msoTextEffectAlignmentWordJustify
  33.                 With .TextFrame
  34.                     .VerticalAlignment = xlVAlignCenter
  35.                     
  36.                 End With
  37.                 .Line.Visible = msoCTrue
  38.             End With
  39.        Next ii
  40. End Sub

复制代码


TA的精华主题

TA的得分主题

发表于 2024-9-16 09:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
                     Else                           .Font.Size = Ww * 0.2

TA的精华主题

TA的得分主题

发表于 2024-9-16 09:06 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-16 11:12 | 显示全部楼层
怎么在WORD中插入带圈的11至20的序号-百度经验  https://jingyan.baidu.com/article/870c6fc311aee5f13ee4be65.html



打开Word文档之后,在里面输入“246A”,之后将其全部选中(快捷键Ctrl+A),接着用快捷键“Alt+X”,就可以转换了。
d2069ba7b7f1f3f12ea5efc03c2951e9_777f3fc2bbd6e1d0a28e82d60d254193cfe8affd_x-bce-.jpg
测试通过,如何将246A---Alt+X用VBA代码实现。



TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-16 11:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.png



    Selection.InsertSymbol CharacterNumber:=9331, Unicode:=True, Bias:=0
    Selection.InsertSymbol CharacterNumber:=9330, Unicode:=True, Bias:=0



&#9331;&#9330;

TA的精华主题

TA的得分主题

发表于 2024-9-16 11:53 | 显示全部楼层
本帖最后由 jaxxcyh 于 2024-9-16 12:14 编辑
ning84 发表于 2024-9-16 11:12
怎么在WORD中插入带圈的11至20的序号-百度经验  https://jingyan.baidu.com/article/870c6fc311aee5f13ee4b ...
  1. Sub test()
  2. Dim mychar As String
  3. mychar = ChrW(&H246A)
  4. [a1].Value = mychar
  5. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-9-16 11:55 | 显示全部楼层
以下是一些常见字符的 Unicode 码点:
英文字母:
大写字母 “A” 的 Unicode 码点是 U+0041,十进制为 65。
小写字母 “a” 的 Unicode 码点是 U+0061,十进制为 97。
数字:
“0” 的 Unicode 码点是 U+0030,十进制为 48。
“9” 的 Unicode 码点是 U+0039,十进制为 57。
标点符号:
句号 “。” 的 Unicode 码点是 U+3002,在基本多语言平面内。
逗号 “,” 的 Unicode 码点是 U+FF0C。
问号 “?” 的 Unicode 码点是 U+003F,十进制为 63。
感叹号 “!” 的 Unicode 码点是 U+0021,十进制为 33。
特殊符号:
空格的 Unicode 码点是 U+0020。
星号 “*” 的 Unicode 码点是 U+002A,十进制为 42。
井号 “#” 的 Unicode 码点是 U+0023,十进制为 35。
中文字符:
“中” 字的 Unicode 码点是 U+4E2D,在基本多语言平面内。
“国” 字的 Unicode 码点是 U+56FD。
希腊字母:
小写希腊字母 “α” 的 Unicode 码点是 U+03B1。
大写希腊字母 “Α” 的 Unicode 码点是 U+0391。
表情符号(Emoji):
&#128522; 的 Unicode 码点是 U+1F60A。
&#128514; 的 Unicode 码点是 U+1F602。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-9-16 13:00 | 显示全部楼层
ning84 发表于 2024-9-16 11:12
怎么在WORD中插入带圈的11至20的序号-百度经验  https://jingyan.baidu.com/article/870c6fc311aee5f13ee4b ...
  1. '字符转Unicode码
  2. Function ShowCode(s As String) As String
  3.     Dim myCode As String
  4.     myCode = Hex(AscW(s))
  5.     ShowCode = myCode
  6. End Function

  7. 'Unicode码转字符
  8. Function ShowChar(u As String) As String
  9.     Dim myChar As String
  10.     myChar = ChrW(CLng("&H" & u))
  11.     ShowChar = myChar
  12. End Function
复制代码
unicode码与字符互转.png

unicode码与字符互转.zip

14.05 KB, 下载次数: 5

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-16 14:28 | 显示全部楼层
本帖最后由 ning84 于 2024-9-16 17:42 编辑

非常感谢你帮助。

  1. Sub llll()
  2.    Dim Rng As Range
  3.    Dim Str As String
  4.        Set Rng = Selection.CurrentRegion
  5.        For ii = 1 To Rng.Rows.Count
  6.             Debug.Print ShowChar(Rng(ii, 1))
  7.             Str = 2460 + ii - 1
  8.             Rng(ii, 3) = ShowChar(Str)
  9.        Next ii

  10. End Sub
复制代码



  1. Sub Ll1()
  2.    Dim Shp As Shape, TxtEff As TextEffectFormat, Shps As Shapes
  3.    Dim ii, jj, kk
  4.        Set Shps = Application.ActivePresentation.Slides(1).Shapes
  5.        For ii = Shps.Count To 2 Step -1
  6.            Set Shp = Shps(ii)
  7.            Shp.Delete
  8.        Next ii
  9.        Dim Ll, Tt, Ww, Hh
  10.        Dim Ss, S1, S2, S3, S4
  11.            Ss = 22
  12.            S1 = 1
  13.            S2 = 10
  14.            S3 = 16
  15.            S4 = 20
  16.            ''
  17.            Ww = 30
  18.            Hh = Ww * 0.6
  19.            Ll = 10
  20.            Tt = 30
  21.       
  22.        For ii = S1 To Ss
  23.             
  24.             Set Shp = Shps.AddTextbox(msoTextOrientationHorizontal, Ll, Tt, Ww, Hh)
  25.             Ll = Ll + Ww * 1
  26.             With Shp
  27.                 .Fill.Visible = msoFalse
  28.                 '.Line.Visible = msoTrue
  29.                      Select Case ii
  30.                          Case S1 To S2
  31.                              .TextEffect.Text = ChrW(CLng("&H" & 2460 + ii - S1))
  32.                          Case S2 To S3
  33.                              .TextEffect.Text = ChrW(CLng("&H" & 246 & Chr(65 + ii - S2 - 1)))
  34.                          Case S3 + 1 To S4
  35.                              .TextEffect.Text = ChrW(CLng("&H" & 2470 + ii - S3 - 1))
  36.                          Case Else
  37.                              .AutoShapeType = msoShapeOval
  38.                              .TextEffect.Text = ii
  39.                              .Width = Ww * 1.2
  40.                              .Height = Hh * 0.9
  41.                              .Line.Visible = msoCTrue
  42.                              .TextEffect.FontSize = Hh * 0.6
  43.                              .TextFrame.AutoSize = ppAutoSizeShapeToFitText
  44.                              
  45.                      End Select
  46.             End With
  47.        Next ii
  48. End Sub

复制代码


TA的精华主题

TA的得分主题

发表于 2024-9-16 15:54 | 显示全部楼层
自带的字符集最大带圈字符为20,范围外数字仍需采用你自己的方案
圈的本质是文本框,调整文本框内文字的四边距为0,即可,图码如下

  1. Sub Ll()
  2.    Dim Shp As Shape, Shps As Shapes
  3.        Set Shps = Sheet1.Shapes
  4.        For ii = Shps.Count To 1 Step -1
  5.            Set Shp = Shps(ii)
  6.            Shp.Delete
  7.        Next ii
  8.        Dim Ll, Tt, Ww, Hh
  9.            Ww = 30
  10.            Hh = Ww
  11.            Ll = 10
  12.            Tt = 30
  13.        For ii = 1 To 22
  14.             Set Shp = Shps.AddTextbox(msoTextOrientationHorizontal, Ll, Tt, Ww, Hh)
  15.             Ll = Ll + Ww * 1
  16.             With Shp
  17.                 .Fill.Visible = msoFalse
  18.                 .AutoShapeType = msoShapeOval
  19.                 With .TextFrame2
  20.                     .MarginLeft = 0
  21.                     .MarginRight = 0
  22.                     .MarginTop = 0
  23.                     .MarginBottom = 0
  24.                     .VerticalAnchor = msoAnchorMiddle
  25.                     .HorizontalAnchor = msoAnchorCenter
  26.                     With .TextRange
  27.                      .Text = ii
  28.                      .Font.Size = Ww * 0.6
  29.                     End With
  30.                      
  31.                 End With
  32.                 .TextEffect.Alignment = msoTextEffectAlignmentWordJustify
  33.                 With .TextFrame
  34.                     .VerticalAlignment = xlVAlignCenter
  35.                     
  36.                 End With
  37.                 .Line.Visible = msoCTrue
  38.             End With
  39.        Next ii
  40. End Sub


复制代码
0.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 01:18 , Processed in 0.056701 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表