Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2090|回复: 5

[已解决]关于mid函数求解

[复制链接]
发表于 2015-10-11 12:28 | 显示全部楼层 |阅读模式
    If InStr(1, strTemp, ",") Then           '  strTemp 是string型
        Mid(strTemp, InStr(1, strTemp, ",")) = "."    '这实现什么功能,没见过mid =什么的
    End If
最佳答案
2015-10-11 15:02
你运行以下语句就明白啦
Sub test()
    strTemp = "123,45"
    If InStr(1, strTemp, ",") Then
        Mid(strTemp, InStr(1, strTemp, ",")) = "."
    End If
    MsgBox strTemp
End Sub
是将“逗号”替换为“点”
发表于 2015-10-11 15:02 | 显示全部楼层    本楼为最佳答案   
你运行以下语句就明白啦
Sub test()
    strTemp = "123,45"
    If InStr(1, strTemp, ",") Then
        Mid(strTemp, InStr(1, strTemp, ",")) = "."
    End If
    MsgBox strTemp
End Sub
是将“逗号”替换为“点”

评分

参与人数 1 +1 收起 理由
mki999 + 1 明白了,mid返回值又给了strtemp吗?

查看全部评分

回复

使用道具 举报

发表于 2015-10-11 16:07 | 显示全部楼层
Mid(strTemp, InStr(1, strTemp, ",")) = "."   
这是MID的一种扩展用法,相当于把字符内的逗号替换成半角的句号。

评分

参与人数 1 +1 收起 理由
mki999 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-10-11 16:11 | 显示全部楼层
zjdh 发表于 2015-10-11 15:02
你运行以下语句就明白啦
Sub test()
    strTemp = "123,45"

不如直接用replace(strtemp,",",".")
回复

使用道具 举报

 楼主| 发表于 2015-10-11 16:25 | 显示全部楼层
请教。
Private Function ConvertToString(number As Double) As String
    Dim strTemp As String
    strTemp = Format$(number, "0.000E+0")
    If InStr(1, strTemp, ",") Then
        Mid(strTemp, InStr(1, strTemp, ",")) = "."
    End If
    ConvertToString = strTemp     '最后这句什么意思???是把
strTemp最为参数给                                                                                                ConvertToString(strTemp),但类型不匹配呀?
End Function
回复

使用道具 举报

发表于 2015-10-11 16:28 | 显示全部楼层
mki999 发表于 2015-10-11 16:11
不如直接用replace(strtemp,",",".")

用法是不一样的,MID是可以有选择性的替换的,而REPLACE则是符合条件的全部替换。

评分

参与人数 1 +1 收起 理由
mki999 + 1

查看全部评分

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 04:47 , Processed in 0.364316 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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