精华内容
下载资源
问答
  • Excel VBA 函数返回值

    千次阅读 2020-02-11 13:29:52
    Excel VBA 函数返回值 Sub 定义一个过程 VB的函数定义格式与C有很大区别: 格式: Sub 过程名(参数列表 ... ) 过程体 End Sub Function 定义一个函数 官方文档 ???? Microsoft Docs | 编写 Function 过程 Function...

    Excel VBA 函数返回值

    Sub 定义一个过程

    VB的函数定义格式与C有很大区别:
    格式:

    Sub 过程名(参数列表 ... )
    	过程体
    End Sub
    

    Function 定义一个函数

    官方文档 🚀 Microsoft Docs | 编写 Function 过程

    Function 函数名(参数列表 ... )
    	函数体
    	函数名 = 返回值
    End Function
    

    实例代码

    Sub Main() 
     temp = Application.InputBox(Prompt:= _ 
     "Please enter the temperature in degrees F.", Type:=1) 
     MsgBox "The temperature is " & Celsius(temp) & " degrees C." 
    End Sub 
     
    Function Celsius(fDegrees) 
     Celsius = (fDegrees - 32) * 5 / 9 
    End Function
    

    调用Sub过程或者Function函数

    调用函数时,有两种形式:

    1. 可以直接将参数放在函数名后,英文逗号 ‘,’ 作为参数分隔符,不需要加圆括号。
      此种调用方式,将舍弃函数返回值。
    Sub Main() 
     MultiBeep 56 
     Message 
    End Sub 
     
    Sub MultiBeep(numbeeps) 
     For counter = 1 To numbeeps 
     Beep 
     Next counter 
    End Sub 
     
    Sub Message() 
     MsgBox "Time to take a break!" 
    End Sub
    
    1. 使用类c语言的方式,参数后加圆括号,用以包含参数。
    Sub Main() 
     Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3") 
     HouseCalc 99800, 43100 
     Call HouseCalc(380950, 49500) 
    End Sub 
     
    Sub HouseCalc(price As Single, wage As Single) 
     If 2.5 * wage <= 0.8 * price Then 
     MsgBox "You cannot afford this house." 
     Else 
     MsgBox "This house is affordable." 
     End If 
    End Sub
    
    1. 函数名前,可加Call关键字,亦可省略。

    References:

    Microsoft Docs | Calling Sub and Function procedures

    展开全文
  • 用于下面的文件列表获取 myPath2 = ChooseFolder '这里的路径是没有加入最后的"\"的 myPath = myPath2 & "\" myPath1 = InStrRev(myPath2, "\") '从右向左查找"\",返回其所在的位置,返回值是一个数字,但是最后会...

    我这里是关键词是 "测试",逻辑是:现实情况中,不方便/不允许使用On Error的情况下,我们可换一个思路,可以判断是不是Nothing

    业务场景(代码诞生原因):因为文件夹内有一堆表格,在要这一堆表格里面找是否含有别的厂家的名字...我有一百多个表格,一个个打开累死啦,所以就写了这个,替我进行搜索

    说明文档:

    1、仅对文件进行搜索,不会改动文件,保留文件完整性

    2、中间加了分号,格式为:(工作簿;工作表;是否找到)加分号的意义在于方便分列,容易看出哪个表存在关键词

    3、没有设定屏幕锁定,如果别人在你面前,屏幕不停闪烁运作,可以显得你很牛逼...

    F、如果需更改关键词,直接把 “测试” 改成你需要的即可

    5、如果需要其他的搜索条件,如搜索值,搜索公式等等,可以先录制宏,将Find代码替换掉即可~有问题亦可留言,看到会协助处理,谢谢~

    6、目前仅适用于单层文件夹,不适合文件夹内嵌套文件夹的文件操作...递归我还不太会...

    7、敲重点:请留意,因为个人本身业务场景情况需要,考虑到隐藏,和筛选等格式不规范,可能造成的影响,所以程序会取消筛选和隐藏

    1、先说第一种情况:遍历所有工作表,是否存在某一个关键词

    Sub VBA小程序_针对本工作簿所有工作表_搜索相关内容()
        Dim sht As Worksheet, a
        For Each sht In Worksheets
            sht.Activate
            '取消筛选,取消隐藏
            sht.AutoFilterMode = False
            Cells.EntireRow.Hidden = False
            Cells.EntireColumn.Hidden = False
            
            Set a = Cells.Find(What:="测试")
            'Debug.Print(),可以在立即窗口中查看返回内容,如果找不到,可以百度一下:VBA立即窗口怎么看,一看就会了?
            If Not a Is Nothing Then
                Debug.Print (ActiveWorkbook.name & ";" & sht.name & ";找到")
            Else
                Debug.Print (ActiveWorkbook.name & ";" & sht.name & ";找不到")
            End If
        Next
    End Sub
    

    2、第二种情况,再说遍历所有文件夹内所有文件,循环判断文件夹里 所有文件里面的 所有Sheet(工作表)是否存在某一个关键词(会弹窗提示用户选择文件夹路径,目前仅适用于单层文件夹,对于文件夹内还有文件夹的情况,暂时不适用

    
    Sub VBA小程序_遍历文件夹内所有文件_搜索相关内容()
        Dim myPath$, myFile$, myPath1$, myPath2$, WB As Workbook, new_book As Workbook, yes_no '这个$ 是相当于定义字符串
        
        '调用函数,获取用户选择的文件夹,并且在最后加上一个反斜杠,用于下面的文件列表获取
        myPath2 = ChooseFolder  '这里的路径是没有加入最后的"\"的
        myPath = myPath2 & "\"
        
        myPath1 = InStrRev(myPath2, "\") '从右向左查找"\",返回其所在的位置,返回值是一个数字,但是最后会变成一个字符串,所以定义的时候也定义了一个字符串
        If myPath1 = 0 Then
            myPath1 = ""    '如果找不到"\",那么就说明用户选择是主硬盘,如:C:\\等,这样就 返回空值
        Else
            myPath1 = Right(myPath2, Len(myPath2) - myPath1) & "_" '如果不是空值,那么就直接可以使用Right提取,使用最开始没有"\"的myPath2这个变量,
        End If
        
        myFile = Dir(myPath & "*.xls*") '依次找寻指定路径中的*.xls,或者xlsx文件
        
        Do While myFile <> "" '当指定路径中有文件时进行循环
            If myFile <> ThisWorkbook.name Then     '如果我们这个宏文件在需要处理的文件夹之中,这个判断就会跳过下面的操作
                Set WB = Workbooks.Open(Filename:=myPath & myFile, UpdateLinks:=0) '打开符合要求的文件,并且如果遇到需要更新链接的时候,默认不更新
                Call 搜索确认
                WB.Close 0  '不保存关闭文件
            End If
            myFile = Dir '找寻下一个*.xls,或者xlsx文件
        Loop
        Set WB = Nothing    '释放变量内存
        MsgBox ("兄台,已完成")
    End Sub
    
    Public Function ChooseFolder() As String    '定义函数,用于下面的调用
        '定义并新建一个对话框对象
        Dim dlgOpen As FileDialog
        Set dlgOpen = Application.FileDialog(msoFileDialogFolderPicker)
        '如果当前没有对话框显示,就让他弹出对话框
        If dlgOpen.Show = -1 Then ChooseFolder = dlgOpen.SelectedItems(1)
        Set dlgOpen = Nothing
    End Function
    
    Function 搜索确认()
        Dim sht As Worksheet
        For Each sht In Worksheets
            sht.Activate
            '取消筛选,取消隐藏
            sht.AutoFilterMode = False
            Cells.EntireRow.Hidden = False
            Cells.EntireColumn.Hidden = False
            
            Set a = Cells.Find(What:="测试")
            If Not a Is Nothing Then
                Debug.Print (ActiveWorkbook.name & ";" & sht.name & ";找到")
            Else
                Debug.Print (ActiveWorkbook.name & ";" & sht.name & ";找不到")
            End If
        Next
    End Function

     

    展开全文
  • private void button1_Click(object sender, EventArgs e) { try { object oMissing = System.Reflection.Missing.Value; Excel.Application oExcel = new Excel....无论VBA中返回什么值都是 -2146826273
  • 1.1inputbox() 的返回值 inputbox()的返回值,String 类型 在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 如果用户单击 Cancel,则此函数返回一个长度为零的字符串 ("")...

    1 inputbox()函数值

     

    1.1inputbox() 的返回值

    • inputbox()的返回值,String 类型
    • 在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。
    • 如果用户单击 Cancel,则此函数返回一个长度为零的字符串 ("")。

     

    2  inputbox的后续处理

    2.1 把inputbox返回的值,处理为数字等

    • 如果是一个语句默认会返回void? false
    • 如果是字符串相加是连接
    • int()  cint()  val() 功能类似,都可以把  “数字类字符串” 转成 数字

     

    Sub cs2()
    
    x1 = InputBox("请输入一个数字")
    x2 = InputBox("请输入一个数字")
    
    Debug.Print "x1+x2=" & x1 + x2
    Debug.Print "x1+x2=" & Val(x1) + Val(x2)
    Debug.Print "x1+x2=" & Int(x1) + Int(x2)
    Debug.Print "x1+x2=" & CInt(x1) + CInt(x2)
    Debug.Print "x1+x2=" & Sum = Val(x1) + Val(x2)
    
    End Sub
    

     

     

     

    别人写的例子

    Sub Judge()
    Dim x, y As Integer
    x = GetNum("X")
    y = GetNum("Y")
    If x < y Then
    MsgBox "X < Y"
    Else
    MsgBox "X >= Y"
    End If
    End Sub
    Function GetNum(s) As Integer
    Dim str As String
    Do While str = ""
    str = InputBox("", "请输入数" + s)
    If Not IsNumeric(str) Then
    MsgBox "你输入的不是整数"
    str = ""
    Else
    GetNum = CInt(str)
    End If
    Loop
    End Function

     

    3 inputbox 可以同时要求输入多个参数吗?

     

    3.1 要求输入参数必须是有分隔符

    • 输入多个参数,中间有 , 分隔
    • 但是这个不能限制玩家不按要求输入
    • 如果按要求输入可以按 split() 分隔

     

    Sub cs3()
    
    i1 = InputBox("请输入")
    
    arr1 = Split(i1, ",")
    
    For Each i In arr1
      Debug.Print i
    Next
    
    End Sub
    

     

     

     

    inputbox() 函数 和application.inputbox() 方法


    inputbox() 函数
    InputBox(Prompt[,Title][,Default][,Xpos][,Ypos][,Helpfile,Context])
    application.inputbox() 方法
    Object.InputBox(Prompt,Title,Default,Left,Top,HelpFile,HelpContextID,Type)


    inputbox() 函数
    (1)如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。
    (2)如果单击确定(OK)或按下ENTER键,则InputBox函数返回文本框中的内容;如果单击取消(Cancel),则此函数返回一个长度为零的字符串("")。
    (3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
    (4)InputBox函数返回的是一个字符串,若需要得到数值,则需要使用Val函数将字符串转换为一个值。


    application.inputbox() 方法
    若使用适当代码的和,则返回多种数据类型。若要显示一个可以接受文本或数字的输入框,则将Type设置为3(即1和2之和,或者数字加上文本);若Type设置为8,那么可以输入一个单元格或单元格区域,或者用鼠标在工作表中的选择某个单元格区域。

    https://blog.csdn.net/ZOU_SEAFARER/article/details/1495674
    https://blog.csdn.net/iamlaosong/article/details/53376336
    http://www.360doc.com/content/18/0611/00/22637415_761312889.shtml

     

     

    Sub ponyma1()
    Dim in2 As Object
    
    in1 = Application.InputBox("请输入数字", "输入窗口", , , , , 1)
    Debug.Print in1 + 1
    
    
    Set in2 = Application.InputBox(prompt:="请选择几个单元格", Title:="输入窗", Type:=8)
    in2.Interior.ColorIndex = 3
    
    End Sub

     

    选择的range区域会变红

     

     

    展开全文
  • VBA的过程(Procedure) VBA中的过程(Procedure)有两种,它们都是一个可以获取参数、执行一系列语句、以及改变其参数的值的独立过程。 一种叫函数(Function) '可调用代码block 一种叫子程序(Subroutine) '可...

    VBA的过程(Procedure)

    VBA中的过程(Procedure)有两种,它们都是一个可以获取参数、执行一系列语句、以及改变其参数的值的独立过程。

    • 一种叫函数(Function)           '可调用代码block
    • 一种叫子程序(Subroutine)    '可执行代码block

     

    一 函数和过程的相同点

    1.1 sub 和 function的相同点

    • sub和function ,从代码本身本身差别不大,都是把代码封装的手段
    • 都是封装的独立代码block
    • 它们都是一个可以获取参数、执行一系列语句、以及改变其参数的值的独立过程

     

    1.2 sub和function的 声明范围

    • sub sub_name()  就相当于   public sub sub_name()
    • function function_name()就相当于public function function_name()
    • 也就是说,默认 sub function 都是跨模块级的,默认在本脚本文件-模块内可调用
    • 但如果,特别加上了 private 就不是了,在模块内都是私有了。
    • 总结
    1. 默认和public都是跨模块生效的
    2. private 是本模块内有效

     

    1.3  sub的范围和sub内的变量范围不一回事

    • sub / function内的变量,默认只在函数内起作用,除非单独对变量做其他声明。
    • 他们的声明是独立的,两者没关系。

     

    1.4 VBA可以执行一个代码脚本(包含多个sub和func)吗?可以

    •  方法1
    • 对象上挂的脚本,是触发后自动执行的,脚本内的所有内容都可以
    • 用对象的事件触发逻辑,可以执行对象挂的脚本里的事件代码。
    • 方法2
    • 理论上一个sub的主过程,调用其他sub和fuction也是没问题的
    • 写那种所有内容放一起的一个sub,也是可以的,只是不如分函数 sub写的好

     

    1.5 函数和过程的调用---无参数时不能带括号!---需要使用返回值时带括号

    • 调用函数或过程,如果需要使用返回值,则带括号
    • 如果只是执行一个过程,不需要调用返回值,不带括号
    • 如果使用call 语句,有参数时,一般都要带括号

     

    • 直接调用---实测出来只能无参数和1个参数
    • subname                         
    • Functionname                
    • Python一般调用函数,无论是否有参数,都带括号   func1()    分 func1(a,b)这个是返回值return结果
    • python 里除非故意用函数名,这个是调用函数名?变量?

     

    • 用call调用
    • 实测出来,是如果带2个参数,必须用call----避免和数组写法混淆
    • call  subname
    • call subname(i,j)
    • call Functionname
    • call Functionname(x,y)

     

    Sub test_ponyma1()
    
    sub2 (11)
    Call sub1(101, 99)   '必须加call,因为不加call这么调用,sub1(101, 99)会和函数搞混
    'Debug.Print sub2(12)
    
    Debug.Print func1(222, 333)
    
    End Sub
    
    
    Sub sub1(a, b)
    Debug.Print a + b
    End Sub
    
    Function func1(x, y)
    func1 = x + y
    End Function
    
    Sub sub2(a)
    Debug.Print a * a
    End Sub
    

     

    1.6  调用 sub 或 function 会返回吗?一定返回之前调用的位置!

    调用其他函数或过程后,实测是一定返回执行后面的语句

    Sub sub_main()
       Call func1(3, 5)
       Debug.Print ("调用函数返回了吗")
    End Sub
    
    
    Function func1(a, b)
    
       func1 = a + b
       Debug.Print func1
    End Function
    
    • 而oop里一般最小的是 函数 或类/对象
    • 一般调用其他内容,都默认会返回

     

    特例?

    • Dos纯面向过程的
    • 里面不会有函数名等,独立单元: 行-----> 文件/脚本
    • 如goto 就不再返回了吧?
    • Filename.bat     不返回?
    • Call filename.bat   会返回
    • Start filename.bat   新窗口调用,不影响本程序执行

     

    二  sub 和function的不同点(可执行代码  vs 调用代码)

    • 功能差别较大
    1. sub是一个最小可执行代码单位,而function是1个“调用代码”的最小可执行单位

    2. sub可以被直接被手动执行,函数不可以
    3. 函数一定有返回值(如果不设置,默认为none),而sub没有返回值
    4. 代码执行时,按顺序执行到sub就开始执行sub 而执行到函数那并不执行,而是函数调用时才执
    5. 与 Function 过程不同的是:带返回值的 Sub 过程不能用于表达式。

     

    特别注意点

    • 如果过程带参数的话,也是不能被直接执行的,只能被调用才可以执行。
    • 比如这样一个过程   sub   test1(x,y)
    • 直接运行里是看不到 这个过程名的,因为有参数的关系。

     

    三  过程 sub

    3.1 过程的基本语法

    • 宏就是过程
    • sub sub_name()    
    • end sub
    • 过程名不能被赋值,函数名是可以的
    • 过程也可以被调用
    Sub s1()
       For i = 1 To 3
        For j = 1 To 5
          Sum = i + j
          Debug.Print Sum
        Next j
       Next i
       
       s1 = Sum  '试验,这里会报错,没有函数或变量,也就是sub 不能使用= 
    End Sub
    

     

    3.2 过程的调用和参数传递

    过程之间可以互相调用

    过程和函数之间呢?

    Sub s1(i)
          Sum = i + 10
          Debug.Print Sum
    End Sub
    
    
    Sub s2()
       s1 (10)
    
    End Sub
    

    特殊调用方式 gosub 和 return

    • 语法结构1
    • gosub subname1
    • subname1:
    • return   '返回之前gosub位置的下一句

     

     

    3.3 调用过程---call  sub 多个参数传递?

    • 如果直接调用 sub_name,单个参数传递可以,多个参数就报错
    • 如果用 call sub_name,可以带多个参数
    Sub s1(i, j)
          Sum = i + j
          Debug.Print Sum
    End Sub
    
    
    Sub s2()
       s1 (1,3)  '2个参数可以定义,但调用时报错,不知道为啥,说缺少= ?
    
    End Sub
    

     

    Sub s1(i, j)
          Sum = i + j
          Debug.Print Sum
    End Sub
    
    
    Sub s2()
       Call s1(1, 3)  
    
    End Sub

     

    搜到一个和我遇到相同的问题---我猜想主要原因,在于不要和数组的写法混淆

    https://zhidao.baidu.com/question/1381664585785887220.html

    是的,那是我3.3第2段的备注写错了
    实际上是这样的
    实测 call  func 这样的调用,参数必须带括号
    而   func 直接这样的写法,多参数不能带括号,但特例是1个参数可带括号或不带

     

    3.4  sub 之间传递参数,和封闭的函数一样,需要用模块级变量才行

    • sub内部的变量值,无法传递给其他过程
    • 需要设置为全局变量 public
    • 如果要读到其他过程里的变量变化,需要先运行其他过程
    Public a
    Public b
    
    Sub s3()
    
       a = 10
       b = 20
    End Sub
    
    
    Sub s4()
      Sum = a + b
      Debug.Print Sum
    
    End Sub

     

    四 函数的用法

    4.1 函数的基本语法

    • 函数无法直接执行,VBE里无法直接当宏调用!!!
    • 顺序执行的代码,执行到函数定义那只会自动跳过,函数调用时才真正执行
    • 函数都有返回值?  一定,没有的话也会返回默认的none

     

    • 函数的语法
    • function function_name()
    • end function
    • 调用函数或者过程,一定要 括号,否则谁知道你是 变量,还是函数,过程
    Sub sub_main()
       func1
    End Sub
    
    
    Function func1()
    
       Debug.Print ("这个函数没有返回值")
    
    End Function
    

     

    • VBA的函数,设置返回值的方法
    • 其他语法函数的最后有 return,return返回值,return后的lines 被称为无效代码,VBA里不用return函数返回值
    • VBA的方法:函数名= 赋值
    Sub sub_main()
       Call func1(3, 5)
    End Sub
    
    
    Function func1(a, b)
    
       func1 = a + b
       Debug.Print func1
    End Function

     

    4.2 函数的返回和调用

    • 遇到和sub通用的问题,一个参数可以直接  f1()

    • 需要多个参数,必须用call f1()  

    Function f1(a, b)
       Sum = a + b
       f1 = Sum
       Debug.Print f1
    End Function
    
    
    Function f2()
      Call f1(5, 6)
    End Function
    
    Sub s1()
     Call f2
     
    End Sub

    函数名= 可以直接赋值,不需要中转变量

    Function f1(a, b)
       f1 = a + b
       Debug.Print f1
    End Function
    
    
    Function f2()
      Call f1(5, 6)
    End Function
    
    Sub s1()
     Call f2
     
    End Sub

     

    4.3 VBA的自定义函数,可以直接在excel里作为自定义函数使用

    Function func1(a, b)
       func1 = a + b
       Debug.Print func1
    End Function
    
    
    Function func2()
       Cells(1, 3).Value = 111
    End Function

     

    五  return 在VBA的特殊意义

    • VBA里,return不是用于函数返回值的,而是配合 gosub   return使用的
    • gosub 和 goto 区别,就是 gosub 带 return

     

    • 语法结构1
    • gosub subname1
    • subname1:
    • return   '返回之前gosub位置的下一句

     

    • 语法结构2
    • goto label1
    • label1:

     

     

    参考资料和继续学习

    http://www.cnblogs.com/wuzhiblog/p/vba_six.html

    http://club.excelhome.net/thread-243048-1-1.html


        

    展开全文
  • Function SigTop5(ByVal SessionCode) As Dictionary Set SigTop5 = New Dictionary '.......... End Function Sub a() Dim SessionCode Dim Sig_Top5 As Dictionary Set Sig_Top5 = New ...
  • VBA·Function的基础使用

    2021-08-21 13:13:16
    VBA·Function的基础使用』 编写人 | SCscHero 编写时间 | 2021/8/18 PM12:43 文章类型 | 系列 完成度 | 已完成 座右铭 每一个伟大的事业,都有一个微不足道的开始。 一、引言&背景 ...
  • 今天学到了函数过程这一章,学到了这里才发现此前出现了“sub”称为了...首先是先说说function过程和sub过程我个人认为比较相似和不相似的几点内容吧 相似点: 1.结构相似。 Function/Sub 名称(参数) 语句 en..
  • 1、子程序和函数   1)   如果过程适用于整个应用程序,则范围为公共,否则为私有 如果是静态变量,则过程在反复调用时,其内部...3)vba代码通常放置在2个位置 A)窗体类模块等access现有类模块 B)模块 ...
  • 2 sub /function 调用时需要注意 不能让sub名赋值,但是 functionname可以的 没有赋值的变量可以直接表达式运算,但默认为0值 Public a, b这种语句不能写在sub内,只能放在模块脚本最前面,只能定义,赋值只能在...
  • VBA collection函数回传

    2020-08-29 14:20:43
    VBA collection函数回传参考: https://social.msdn.microsoft.com/Forums/en-US/62bb4c2b-0494-43c3-bb00-be6b40686aa4/vba-function-22914203092223820659-collection?forum=232 **关于VBA集合的使用网上中文资料很...
  • Sub t1() Dim fNum As Collection Dim num Dim numStr As String numStr = "全民VBA" Set fNum = findNum(numStr) For Each num In fNum Range(num).Interior.ColorIndex = 0 ...Function findNum...
  • 1、Sub过程Sub过程是一系列由Sub和End Sub语句所包含起来的程序语句,它们会执行动作却不能返回一个值。Sub过程可有参数。如果一个Sub过程没有参数,则它的Sub语句必须包含...2.Function函数Function函数是一系列由...
  • vba自定义类型返回函数vba自定义类型返回函数vba自定义类型返回函数
  • VBA函数定义及说明

    千次阅读 2020-06-24 11:18:28
    讲述传入的字符串 Function text_speak(text) ' Application.Speech.Speak ("hello alice") Application.Speech.Speak (text) text_speak = text End Function is_like:模式匹配 使用vba的like函数,类似于sql中的...
  • VBA function函数

    2012-04-18 02:21:22
    SUB可以使用可选参数,optional 参数 在程序中可以使用isMissing来判断 Sub sub_name(optional val1) function function_name(optional ...function 是可以返回值的过程 function function_name parameter f...
  • 学习资源:《全民一起VBA基础篇(Excel数据处理)》 杨洋老师一. VBA界面操作​ 调出开发工具 依次点击“文件”->“选项”->“自定义功能区”,在右侧主选项卡下面的选项中,找到“开发工具”,在前面的小框打勾...
  • 你已选中了添加链接的内容蓝字关注,加微信NZ9668获资料信息VBA解决方案 系列丛书作者头条百家平台 VBA资深创作者_______________________________大家好,通过前面4讲的学习,我们看到了一个完整的工程中各个结构,...
  • 返回一个变量大小结果数组的方法 此方法返回基于一个参数范围的值的数组。结果数组的大小具体取决于参数数组中的元素数量波动。... Function Multiply_Range(myrange As Object) As Variant Dim te...
  • Exit Function End If With si .cb = Len (si) .dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW ' tell it to use (not ignore) the values below .wShowWindow = SW_HIDE ....
  • sub 与 function 的区别

    千次阅读 2016-11-19 15:45:29
    sub称为过程, function称为函数,他们之间的唯一区别是function返回值。 完全可以把sub写成function,只要不用function返回值就可以了。C语言就只有函数而没有过程,因此一般情况下都可以用function来代替sub...
  • FUNCTION get(strbarcode IN VARCHAR) RETURN myrcType IS rc myrcType; BEGIN OPEN rc FOR strbarcode; RETURN rc; END get; END pkg_test; --------------------------------------------------------------...
  • VBA实战入门教程第5篇,我们将从九九乘法表开始和结束今天的教程。之中,我们会认识VBE,也就是VBA代码的编辑器。VBE的基本概念、打开方式,以及它的布局和主要功能,它们很简单,但我们需要掌握。你可以认为这篇...
  • VBA子程序(十六)

    2019-09-28 00:14:48
    无法使用与函数相同的方式来调用子过程,因为子过程不会返回值Function findArea(Length As Double , Width As Variant) area Length, Width ' To Calculate Area 'area' sub proc is called End ...
  • 获取checkbox返回值

    2016-08-23 15:02:00
    function (action,value){ if (action=="add"&&$scope.selected.indexOf(value)==-1 ){ $scope.selected.push(value); } if (action=="remove"&&$scope.selected.indexOf(value)!=-1 ){ var idx= $scope....
  • VBA findNext nothing 问题

    2020-04-19 17:59:03
    Function test(cel As Integer) As String Dim functionRetStr As String '方法返回值 Dim currentValue As String '调用方法单元格第一列值 Dim totalRow As Long '总行 Dim rngTemp As Range '搜索 Dim rngA ...
  • 函数没有返回值调用

    千次阅读 2019-08-21 16:09:50
    function add(n) { n = n+1; } y = add(x); function add(n) { n = n + 3; } z = add(x); console.log(x);//1 console.log(y);//undefind console.log(z);//undefined 原因:后面的a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,176
精华内容 470
关键字:

functionvba返回值