EXCEL里的分数, 怎样实现同一单元格内的不同字体大小

11/211/211/231/3231/3215/1615/1615/1615/1615/1615/1615/1613/413/413/413/413/413/4222如... 1 1/2
1 1/2
1 1/2
31/32
31/32
1 5/16
1 5/16
1 5/16
1 5/16
1 5/16
1 5/16
1 5/16
1 3/4
1 3/4
1 3/4
1 3/4
1 3/4
1 3/4
2
2
2

如上, 有N行数字, 有整数, 有分数, 有整数又分数
要求: 整数为10号字
分数为8号字
整数又分数的要去掉中间空格

举例:
1 1/2 这格里, 1又1/2 要去掉中间空格, 变成 11/2 第一个整数1变10号字, 1/2变8号字

31/32 这格里, 全部变8号字

1 5/16 这格里, 1变10号字, 中间空格去掉, 5/16变8号字

2 这格里, 变10号字

有几万个数, 要整理成上面要求的格式, 要在同一单元格里实现不同字体大小, 手工做是不现实的,
求快速的解决办法, 函数也好宏也好不管什么都行.

附图: 整理后的样子. (颜色忽略)
各位...........说得好简单..........可我是菜鸟啊............能不能说详细些啊................
展开
 我来答
enocheasty
2009-09-19 · TA获得超过318个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:106万
展开全部
提供给你下面的宏,但是有几点需要注意一下,下面的宏只是把A列中的分数形式,按照你的要求改写到B列中。因为我不清楚你的具体格式,只是知道你想做什么。这个宏会遍历A列中所有符合条件的判断。判断是这样的。如果数据有“/”则表示有分数,那么进行下一步判断,如果没有空格,则判断为纯分数,直接以8号字体填写到B列,如果有空格则进行拆分,把整数部分和分数部分分开来。然后以你要求10号字体和8号字体填写到B列中,如果没有“/”则直接以10号字体填写到B列中。另外提一下,你的提供的样本中整数部与分数部中间还不止一个空格,不过程序也会自动处理掉,只是麻烦了一下。

重要的是,你把分数从别处粘贴到Excel中的话,先把A列及B列的格式设置为文本,因为如果不是文本格式 Excel显示的是1 1/2,然而实际值确是1.5,因此我转换后填到B列就变成1.5了,所以,这点一定要注意。如果你的数据原来就在Excel了,直接改格式势必会让把1 1/2变成1.5,先把它粘到记事本里,改了格式后再粘回到Excel中。记住,这点很重要。

Sub Trans()
Dim Acdoc As Worksheet
Set Acdoc = ThisWorkbook.ActiveSheet
Dim I, Loc As Integer
Dim Str, Str1 As String
I = 1
Do Until Acdoc.Cells(I, 1) = ""
Str = Acdoc.Cells(I, 1)
If Strings.InStr(Str, "/") > 0 Then
If Strings.InStr(Str, " ") > 0 Then
Do
Str1 = Str
Str = Strings.Replace(Str, " ", "", , 1)
Loop Until Strings.InStr(Str, " ") = 0
Loc = Strings.InStr(Str1, " ")
Acdoc.Cells(I, 2) = Str
Acdoc.Cells(I, 2).Characters(1, Loc - 1).Font.Size = 10
Acdoc.Cells(I, 2).Characters(Loc, Len(Str)).Font.Size = 8
Else
Acdoc.Cells(I, 2) = Acdoc.Cells(I, 1)
Acdoc.Cells(I, 2).Font.Size = 8
End If
Else
Acdoc.Cells(I, 2) = Acdoc.Cells(I, 1)
Acdoc.Cells(I, 2).Font.Size = 10
End If
I = I + 1
Loop
End Sub
redstarw
2009-09-18 · TA获得超过1.5万个赞
知道大有可为答主
回答量:5246
采纳率:100%
帮助的人:3489万
展开全部
只有文本格式的数据才能设置不同的字体及字号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huodeming
2009-09-18 · TA获得超过265个赞
知道小有建树答主
回答量:500
采纳率:25%
帮助的人:205万
展开全部
哈哈 用VBA自己录一个 很简单 要用要单元格内的文字选中后调整字体
首先设单元格格式为文本 在2007中可以用单引号
然后选中文本中的字数
18是字体大小
ActiveCell.Characters(Start:=4, Length:=3).Font.Size = 18

Start:=4, Length:=3这个自己选 是选中你要改变的文字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万事规则不变其中
2009-09-19 · 超过16用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:55.1万
展开全部
先点击所要单元格,在公式编辑栏中选中要变形的数字,再选中的数字上右键,然后单击设置单元格,再修改字体大小,然后加粗等操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolbi5
2009-09-18 · TA获得超过1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:2566万
展开全部
可以用vba遍历一下就可以了,困了,没心思编了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式