Excel宏类型的转换「建议收藏」

Excel宏类型的转换「建议收藏」FunctiongcVBCur(ByValvVariableAsVariant)AsCurrency’——————————————————————————————-‘Note   :Integra-t.comglobalFunction’—–

大家好,又见面了,我是你们的朋友全栈君。

Function gcVBCur(ByVal vVariable As Variant) As Currency
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   gcVBCur = CCur(0)
   
   ‘Validation
   If IsNull(vVariable) Or Not IsNumeric(vVariable) Then
      Exit Function
   End If

   ‘Set return function value
   gcVBCur = CCur(vVariable)

End Function

Function gdVBDbl(ByVal vVariable As Variant) As Double
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   gdVBDbl = CDbl(0)

   ‘Validation
   If IsNull(vVariable) Or Not IsNumeric(vVariable) Then
      Exit Function
   End If

   ‘Set return function value
   gdVBDbl = CDbl(vVariable)

End Function

Function gnVBInt(ByVal vVariable As Variant) As Integer
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   gnVBInt = CInt(0)

   ‘Validation
   If IsNull(vVariable) Or Not IsNumeric(vVariable) Then
      Exit Function
   End If

   ‘Set return function value
   gnVBInt = CInt(vVariable)

End Function

Function glVBLng(ByVal vVariable As Variant) As Long
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   glVBLng = CLng(0)

   ‘Validation
   If IsNull(vVariable) Or Not IsNumeric(vVariable) Then
      Exit Function
   End If

   ‘Set return function value
   glVBLng = CLng(vVariable)

End Function

Function ggVBSng(ByVal vVariable As Variant) As Single
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   ggVBSng = CSng(0)

   ‘Validation
   If IsNull(vVariable) Or Not IsNumeric(vVariable) Then
      Exit Function
   End If

   ‘Set return function value
   ggVBSng = CSng(vVariable)

End Function

Function gsVBStr(ByVal vVariable As Variant) As String
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   gsVBStr = “”

   ‘Validation
   If IsNull(vVariable) Then
      Exit Function
   End If

   ‘Set return function value
   gsVBStr = CStr(vVariable)

End Function

Function gtVBDate(ByVal vVariable As Variant) As Date
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set return function value
   gtVBDate = DateValue(gtVBDateTime(vVariable))

End Function

Function gtVBTime(ByVal vVariable As Variant) As Date
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set return function value
   gtVBTime = TimeValue(gtVBDateTime(vVariable))

End Function

Function gtVBDateTime(ByVal vVariable As Variant) As Date
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   gtVBDateTime = CDate(0)

   ‘Declare
   Dim ldtmDateTime     As Date
  
   ‘Set default value
   ldtmDateTime = CDate(0)
  
   Select Case VarType(vVariable)
      Case vbDate
         ldtmDateTime = vVariable
      Case vbSingle, vbDouble, vbInteger, vbLong
         ldtmDateTime = CDate(vVariable)
      Case vbString
         If IsDate(vVariable) Then
            ldtmDateTime = CDate(vVariable)
         End If
      Case Else
   End Select
  
   ‘Set return function value
   gtVBDateTime = ldtmDateTime

End Function

Function gbVBBool(ByVal vVariable As Variant) As Boolean
‘——————————————————————————————-
‘Note    : Integra-t.com global Function
‘——————————————————————————————-
   On Error Resume Next
  
   ‘Set default function value
   gbVBBool = False

   ‘Set return function value
   Select Case VarType(vVariable)
      Case vbInteger, vbLong, vbSingle, vbDouble, vbCurrency, vbDecimal
         gbVBBool = CBool(vVariable)
      Case vbDate
         If vVariable <> CDate(0) Then
            gbVBBool = True
         End If
      Case vbString
         If IsNumeric(vVariable) Then
            gbVBBool = CBool(Val(vVariable))
         ElseIf Len(CStr(vVariable)) > 0 Then
            Select Case UCase$(vVariable)
               Case “TRUE”, “YES”, “Y”
                  gbVBBool = True
            End Select
         End If
      Case vbBoolean
         gbVBBool = vVariable
      Case Else
   End Select

End Function

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140733.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月27日 下午12:20
下一篇 2022年5月27日 下午12:40


相关推荐

  • 文本分类常用算法比较

    文本分类常用算法比较本文对文本分类中的常用算法进行了小结,比较它们之间的优劣,为算法的选择提供依据。 一、决策树(DecisionTrees)优点: 1、决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。 2、对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。 3、能够同时处理数据型和常规型属性。其他的

    2022年5月8日
    48
  • NLP学习笔记30-SVM 对偶、KTT,核函数

    NLP学习笔记30-SVM 对偶、KTT,核函数一序本文属于贪心 NLP 训练营学习笔记系列 二 MappingFeatu 如图所示 转换是包含两部分的工作的 第一步是从低维特征向量转换为高维特征向量 第二步是根据高维向量特征训练分类器 那么现在的任务也从原来的 变成了 或者其中 x 是 D 维 u 是维 至于具体升维操作 也就是把原来的特征做一些加减乘除 变成更多的特征 这种方法在实操的时候有一个问题 时间复杂度增加 例如原来的 D 10 新的 10000 第

    2026年3月18日
    1
  • 基于qt的简单小游戏_中国象棋单机版2,0

    基于qt的简单小游戏_中国象棋单机版2,0最近对Qt这个跨平台C++图形应用程序框架很感兴趣,闲暇时间多学了一下,收获很多,也踩了不少坑,在这里记录一下,分享心得。Qt的安装安装Qt并不麻烦,就是网速有点慢。推荐使用国内镜像代理下载。首先进入Qt官网,在TryQt处点击DownloadQt,填完基本信息后,点击提交就可以下载Qt下载器了。当然,你也可以直接去国内镜像站上下载Qt下载器。打开Qt下载器,注册Qt账户,并登录,同意协议。若要使用国内镜像代理,点击左下角的配置图标。然后从百度上选择

    2022年8月29日
    4
  • java 文本编辑器_Java文本编辑器实现方法详解

    java 文本编辑器_Java文本编辑器实现方法详解本文实例讲述了 Java 文本编辑器实现方法 分享给大家供大家参考 具体如下 结构分析 界面布局 EditFramemai 方法所在 EditText 打开功能实现 FileReadThre 保存跟能实现 save 实际运行效果 附 完整代码实现一 EditFrame 包括一个菜单 Menu 底部 日期时间代码附上 publicclassE

    2026年3月19日
    3
  • 抽象工厂模式与工厂方法模式有哪些不同_抽象工厂模式java代码

    抽象工厂模式与工厂方法模式有哪些不同_抽象工厂模式java代码Abstract Factory动机实例模式定义结构要点总结笔记动机在软件系统中,经常面临着”一系列相互依赖的对象“的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作如果应对这种变换?如何绕过常规的对象创建方法(new),提供一种”封装机制“来避免客户程序和这种”多系列具体对象创建工作“的紧耦合?实例数据库连接的时候会有很多关联的对象,这些对象是一个整体朴素class EmployeeDAO{public: vector<EmployeeDAO> GetEm

    2022年8月11日
    5
  • cursor有哪些高级用法? Cursor的五种高级使用指南

    cursor有哪些高级用法? Cursor的五种高级使用指南

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号