Excel精英培训网

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

[已解决]vba中Evaluate方法有变量时时的用法

[复制链接]
发表于 2014-5-21 08:54 | 显示全部楼层 |阅读模式
求两个变量的时间间隔:
       Sub test3()
         Dim time1, time2
         time1 = "2005-9-8"
         time2 = "2007-4-7"
        MsgBox "间隔" & Application.Evaluate("=Datedif(""" & time1 & """,""" & time2 & """,""y"")") & ""
End Sub
    上面代码中MsgBox "间隔" & Application.Evaluate("=Datedif(""" & time1 & """,""" & time2 & """,""y"")") & ""中的引号不太明白是否可以解释一下
最佳答案
2014-5-21 09:09
在字符串中,用连续两个引号表示一个引号。

Sub Click()
    MsgBox """"
    MsgBox """a"""
End Sub
发表于 2014-5-21 09:09 | 显示全部楼层    本楼为最佳答案   
在字符串中,用连续两个引号表示一个引号。

Sub Click()
    MsgBox """"
    MsgBox """a"""
End Sub
回复

使用道具 举报

发表于 2014-5-21 09:10 | 显示全部楼层
本帖最后由 开心妙妙 于 2014-5-21 09:14 编辑

这里用利用单元格公式返回值
遇到要带“号的地方,就要双倍的”号表示
例如:
Evaluate("=SUMIF(A2:A6,""b"",B2:B6)")
在单元格中使用 ”b",这样就可以了,但VBA公式中就需要”“b""
回复

使用道具 举报

发表于 2014-5-21 09:42 | 显示全部楼层
其实你用变量来取值在组合就明白了

Application.Evaluate("=Datedif(""" & time1 & """,""" & time2 & """,""y"")") & "年"

  1. n=Application.Evaluate("=Datedif(""" & time1 & """,""" & time2 & """,""y"")")
  2. n=n & "年"
复制代码



这样看是不是就清楚多了呢?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 22:05 , Processed in 0.268457 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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