ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 如何让单元格内的文字倒立

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-26 20:14 | 显示全部楼层 |阅读模式
本帖最后由 SoarCN 于 2012-11-26 21:42 编辑

如标题,正常是向上的字,如何设置180度的反转,Excel里只能设置正负90度的改变方向。


事后添加:感谢“枫桥夜泊lwb”非常快速的回复,以及其他热心的朋友。
效果见附件:

效果图

效果图

TA的精华主题

TA的得分主题

发表于 2012-11-26 20:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
在“设置单元格格式”中的字体前加上一个@,此时文字已逆时针方向旋转了90度,然后在“对齐”里在把方向再逆时针方向旋转90度就可以了

TA的精华主题

TA的得分主题

发表于 2012-11-26 21:08 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-26 20:42 | 显示全部楼层
枫桥夜泊lwb 发表于 2012-11-26 20:23
在“设置单元格格式”中的字体前加上一个@,此时文字已逆时针方向旋转了90度,然后在“对齐”里在把方向再逆 ...

做了个不算技术的处理,加个了自动换行,限制行高,效果就实现了。非常感谢你的帮助。

TA的精华主题

TA的得分主题

发表于 2012-11-26 22:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 时光鸟 于 2012-11-26 22:13 编辑
SoarCN 发表于 2012-11-26 21:01
恩,其实等下还是要用到VBA的,用艺术字下午也考虑过了,数值一直会变,不适合用。大小也有限。外观只是第 ...

用VBA给你写了一个逆序排列的代码(粗略的就这样了,没有经过简单),原字符放在A1中,结果会在B2中显示,你也可以适当修改成函数的形式:
  1. Sub 按钮1_Click()
  2. Dim n As Integer
  3. Dim arr() As String
  4. n = Len(Cells(1, 1))
  5. ReDim arr(1 To n) As String


  6. Cells(2, 2).Clear

  7. For i = 1 To n
  8. arr(i) = Mid(Cells(1, 1).Value, i, 1)
  9. Next i


  10. If n Mod 2 > 0 Then

  11.     For ii = 1 To ((n - 1) / 2)
  12.     flag = 0
  13.     flag = arr(ii)
  14.     arr(ii) = arr(n + 1 - ii)
  15.     arr(n + 1 - ii) = flag
  16.     Next ii
  17.    
  18. End If


  19. If n Mod 2 = 0 Then

  20.     For ii = 1 To n / 2
  21.     flag = 0
  22.     flag = arr(ii)
  23.     arr(ii) = arr(n + 1 - ii)
  24.     arr(n + 1 - ii) = flag
  25.     Next ii
  26.    
  27. End If



  28. For x = 1 To n

  29. Cells(2, 2).Value = Cells(2, 2).Value & arr(x)

  30. Next x



  31. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-26 21:01 | 显示全部楼层
本帖最后由 SoarCN 于 2012-11-26 21:11 编辑
时光鸟 发表于 2012-11-26 20:51
字体加@,再设置转90度,再限制行高,然后设置自动换行,最后调整文字顺序
目前也只能这么处理,除非你插 ...

恩,其实等下还是要用到VBA的,用艺术字下午也考虑过了,数值一直会变,不适合用。大小也有限。外观只是第一步。。。。。其实还是有点问题的,就是这样的处理对非中文字又要作其他处理,比如中英文混合的字符串,英文不受加@影响,而且可能会预览成乱码。在我要作的表格里如果按阅读习惯的话,还要将字符串逆序处理。比如“你好”就要写成“好你”。能麻烦你给个公式处理任意长度的字符串逆序处理么?

TA的精华主题

TA的得分主题

发表于 2012-11-26 20:41 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-26 20:34 | 显示全部楼层
本帖最后由 SoarCN 于 2012-11-26 20:38 编辑
枫桥夜泊lwb 发表于 2012-11-26 20:23
在“设置单元格格式”中的字体前加上一个@,此时文字已逆时针方向旋转了90度,然后在“对齐”里在把方向再逆 ...

恩,感谢你的帮助。我想要的是横排的倒立。你的方法我试了下,倒立是可以实现的,可是成竖排的了,可能是我哪个步骤没弄好。

TA的精华主题

TA的得分主题

发表于 2012-11-26 20:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
SoarCN 发表于 2012-11-26 20:42
做了个不算技术的处理,加个了自动换行,限制行高,效果就实现了。非常感谢你的帮助。

字体加@,再设置转90度,再限制行高,然后设置自动换行,最后调整文字顺序
目前也只能这么处理,除非你插入艺术字体,别无他法,VBA都无法完全实现你想要的功能

TA的精华主题

TA的得分主题

发表于 2012-11-26 21:38 | 显示全部楼层
本帖最后由 时光鸟 于 2012-11-26 21:39 编辑
SoarCN 发表于 2012-11-26 21:01
恩,其实等下还是要用到VBA的,用艺术字下午也考虑过了,数值一直会变,不适合用。大小也有限。外观只是第 ...

字符串逆序,公式不太好处理,用VBA好解决

两种情况:
字符数是奇数2N+1个的话,那么第1个和第2n+1个换位置,第2个和第2n个换位置....一直到第n+1不动;
字符数是偶数2N个的话,那么第1个和第2n个换位置,第2个和第2n-1个换位置....一直到第n个和第N+1个换位置;


以上就是最基本的思路,你可以写几个循环就解决了,有了以上思路,写代码就不会有什么问题了




您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 07:56 , Processed in 0.046808 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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