24小时热门版块排行榜    

查看: 1727  |  回复: 9

lolo123

木虫 (小有名气)

[求助] 关于一个excel单元格用&合并的问题 已有2人参与

用的excel2003,问题:比如单元格A1 为Gj,A2为Hu,其中j和u是下角标,在单元格A3内用=A1&A2的方式变为GjHu,但是原来的格式,特别是角标的格式被清除了,有什么办法在A3内保留他们的格式?当然,直接使用excel自带的连接函数也不行。
请高手赐教
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

rockrocker

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 感谢参与 2013-08-16 07:11:55
lolo123: 回帖置顶 2014-03-11 23:45:44
1.你的数据量大的话用程序很容易实现,
Sub test()
For i = 9 To 17
    Cells(i, 9).Select
    ActiveCell.FormulaR1C1 = Cells(i, 9).Text
    With ActiveCell.Characters(Start:=1, Length:=1).Font
        .Name = "宋体"
        .FontStyle = "常规"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    With ActiveCell.Characters(Start:=2, Length:=1).Font
        .Name = "宋体"
        .FontStyle = "常规"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = True
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    With ActiveCell.Characters(Start:=3, Length:=1).Font
        .Name = "宋体"
        .FontStyle = "常规"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    With ActiveCell.Characters(Start:=4, Length:=1).Font
        .Name = "宋体"
        .FontStyle = "常规"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = True
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
Next i
End Sub
2.如果数据量不大的话,直接拷贝你的AU & hu单元格,在新的单元格位置点右键,选选择性粘贴,选数值,然后设置一下下标就可以了!

» 本帖已获得的红花(最新10朵)

3楼2013-08-12 22:28:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

王艳卉

金虫 (正式写手)

这个还真不知道,呵呵,期待得到答案,共同学习
2楼2013-08-11 09:01:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
4楼2013-08-13 00:13:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lolo123

木虫 (小有名气)

送红花一朵
引用回帖:
3楼: Originally posted by rockrocker at 2013-08-12 22:28:02
1.你的数据量大的话用程序很容易实现,
Sub test()
For i = 9 To 17
    Cells(i, 9).Select
    ActiveCell.FormulaR1C1 = Cells(i, 9).Text
    With ActiveCell.Characters(Start:=1, Length:=1).Font
    ...

For i = 9 To 17
    Cells(i, 9).Select
    ActiveCell.FormulaR1C1 = Cells(i, 9).Text
    With ActiveCell.Characters(Start:=1, Length:=1).Font
这4段程序是啥意思,本人是VB小白,请明示下。
5楼2013-08-13 08:21:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

万孝莉

新虫 (小有名气)

【答案】应助回帖

'用函数连接完字符串
'选中要修改格式的区域,运行下面的vba代码
'下面代码作用是,是选中区域每个单元格的第2,4个字符变成下标
Sub FormatStr()
    '获取选中的区域的行数
    Dim SelRowCon As Integer
    SelRowCon = Selection.Rows.Count
    '依次修改每个单元格的字符串
    For i = 1 To SelRowCon
        '单元格中的第2个字符的字体下标样式为真
        Cells(i, 1).Characters(Start:=2, Length:=1).Font.Subscript = True
        Cells(i, 1).Characters(Start:=4, Length:=1).Font.Subscript = True
    Next i
   
End Sub
6楼2013-08-24 18:51:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xueyuanlang

新虫 (初入文坛)

【答案】应助回帖

你这个太复杂了,有个更简单的方法。

[ 发自手机版 http://muchong.com/3g ]
持之以恒
7楼2013-08-25 00:17:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

万孝莉

新虫 (小有名气)

引用回帖:
7楼: Originally posted by xueyuanlang at 2013-08-25 00:17:10
你这个太复杂了,有个更简单的方法。

求教,我还真没想到别的办法。给个提示吧……
只为学习一下

[ 发自手机版 http://muchong.com/3g ]
8楼2013-08-25 14:50:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

被遗弃的石头

铜虫 (小有名气)

【答案】应助回帖

你的原因在于他们的合并在于格式不统一,你先全部统一一下格式,再合并就oK了,
9楼2014-03-05 19:18:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

林越洋

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
lolo123: 金币+10, 有帮助 2014-03-29 16:17:55
????????O??????????????????????ó?????F?????????????u???????
10楼2014-03-28 16:29:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lolo123 的主题更新
信息提示
请填处理意见