【4】VBA公共變量調(diào)用Function法 1/czm ok! Public Qyh As Integer '此句必須有 Public Qym1 As String Sub ggBl1() '公共變量聲明和使用 ok! Call QyhQym1(Qyh, Qym1) Call t1 Call t2 'Call confunction End Sub Function QyhQym1(Qyh, Qym1) Qyh = InputBox("企業(yè)號") y = Year(Now) 'Debug.Print y m = Month(Now) m1 = m - 1 'Debug.Print m1 ym1 = "/" & y & "-" & m1 Qym1 = Qyh & ym1 'Debug.Print Qym1 'Range("B2") = hym1 'Qym1 = "1a/2019-05" 'Cells(100, 1) = Qyh '將企業(yè)號,存入當前工作表的單元格中 End Function Sub t1() 'Debug.Print Qym1 a1 = Qym1 & "t1" Debug.Print a1 End Sub Sub t2() a2 = Qym1 & "t2" Cells(6, 1) = a2 Debug.Print a2 Cells(6, 2) = Qym1 Debug.Print Range("b6") End Sub ---- Public Qyh As Integer Public Qym1 As String Sub ggBl1() '公共變量聲明和使用 ok! 'Call QyhQym1(Qyh, Qym1) Call QyhQym2(Qyh, Qym1) Call t1 Call t2 'Call confunction End Sub Sub QyhQym2(Qyh, Qym1) Qyh = InputBox("企業(yè)號") y = Year(Now) 'Debug.Print y m = Month(Now) m1 = m - 1 'Debug.Print m1 ym1 = "/" & y & "-" & m1 Qym1 = Qyh & ym1 End Sub Function QyhQym1(Qyh, Qym1) Qyh = InputBox("企業(yè)號") y = Year(Now) 'Debug.Print y m = Month(Now) m1 = m - 1 'Debug.Print m1 ym1 = "/" & y & "-" & m1 Qym1 = Qyh & ym1 'Debug.Print Qym1 'Range("B2") = hym1 'Qym1 = "1a/2019-05" 'Cells(100, 1) = Qyh '將企業(yè)號,存入當前工作表的單元格中 End Function Sub t1() 'Debug.Print Qym1 a1 = Qym1 & "t1" Debug.Print a1 End Sub Sub t2() a2 = Qym1 & "t2" Cells(6, 1) = a2 Debug.Print a2 Cells(6, 2) = Qym1 Debug.Print Range("b6") End Sub 【3】VBA宏自定義Function 1/VBA宏自定義Function參數(shù)_聞達 http://blog.sina.com.cn/s/blog_499cff3f0100nteb.html 【2】VBA:Function,function 21/讓VBA自定義函數(shù)返回多個值 http://m./icontent/147579083547.html 20/Excel 如何讓自定義函數(shù)返回多個值 http://club./thread-457516-1-1.html 19/VB中如何調(diào)用有多個返回值的函數(shù) https://sa93g4./pages/question/question?qid=1737439476413206347&hostname=baiduboxapp&_swebfr=1 18/vb自定義函數(shù)可選參數(shù)如何設置_百度知道 https://zhidao.baidu.com/question/571975263.html?qbl=relate_question_0&word=%A2%F5BA%D6%D0function%BA%AF%CA%FD%D6%D0%B2%CE%CA%FD BBS: function multi(a as integer,b as integer,optional third) rem 定義multi函數(shù),參數(shù)a、b為整形,參數(shù)third可可選參數(shù) dim n as integer n = a * b if not ismissing (third) then '判斷可選參數(shù)third是否有值傳入 n = n * third end if multi = n end function private sub command1_click() dim a as integer,b as integer dim x as integer a = 2 : b = 3 x = multi (a , b , 2) print x end sub 17/VB里面定義function函數(shù)設的參數(shù)到底有什么用_百度知道 https://zhidao.baidu.com/question/1495833879400724739.html?fr=iks&word=%A2%F5BA%D6%D0function%BA%AF%CA%FD%D6%D0%B2%CE%CA%FD&ie=gbk 16/vb用function怎樣自定義函數(shù)?格式怎么寫?舉個例子,比如inputbox函數(shù)用function怎么寫?_百度知道 https://zhidao.baidu.com/question/591845415.html?qbl=relate_question_0&word=%A2%F5BA%D6%D0confunction%BA%AF%CA%FD 15/VB函數(shù)function的用法_百度知道 https://zhidao.baidu.com/question/484043514.html?qbl=relate_question_2&word=%A2%F5BA%D6%D0confunction%BA%AF%CA%FD 14/https://zhidao.baidu.com/question/43425289.html?qbl=relate_question_2&word=%A2%F5BA%D6%D0confunction%BA%AF%CA%FD Function是指方法(即函數(shù)bai)Function是有返回值的如下面的定義了一du個叫S的函數(shù),返回String類型的字串(注意,如果zhi沒有設置返回值,則默認為NULL)Private Function S() As String '//返回值為String類型…… '//函數(shù)主體S = "1234" '//返回的字串內(nèi)容為"1234"End Function而Sub是過程(和函數(shù)一樣,但是不能有返回值)如下面的定義了一個叫A的過程Private Sub S() '//不能設置返回類型,即無返回值…… '//過程主體End Sub 13/'定義函數(shù) https://zhidao.baidu.com/question/43425289.html?qbl=relate_question_2&word=%A2%F5BA%D6%D0confunction%BA%AF%CA%FD Function fan(x As Single) As Double fan = 3 * x + 3 End Function 12/function用來定義函數(shù) https://wenku.baidu.com/view/0b13c1d96f1aff00bed51e06.html function用來定義函數(shù),一般一個函數(shù)放在一個.m 文件里。如建一個myfunction.m,然后在文件中寫: function y=myfunction(a,b) '其中a,b 是輸入函數(shù)的參數(shù),y是函數(shù)返回的值。當需返回多個值時,可將y看作一個數(shù)組,或直接將函數(shù)的開頭寫成:function [x,y]=myfunction(x,y)的形式。 然后定義函數(shù)內(nèi)容,即怎樣由輸入?yún)?shù)a,b,得到返回值y。 如y=a+b: function y=myfunction(a,b) y=a+b; 保存為一個 m 文件myfunction.m,調(diào)用方式如下。 num=myfunction(3,4)'由函數(shù)y=a+b,得num=3+4=7。 12.1.兩個函數(shù)要存放在兩個文件中 func1 存在func1.m 中 test 存在 test.m 中 Matlab 的函數(shù)尋址是在工作路徑下查找與函數(shù)名相同的文件. 如果將兩個函數(shù) function [a b]=func1(x,sigma) a=x^2+sigma; b=2*x+sigma; function test(func,x) sigma=1 f=@(x) func(x,sigma); [a?b]=f(x); 放在一個文件中,如果不命名成test.m,那么則無法尋址到test這個函數(shù);如果命 名為test.m,那么func1被作為test函數(shù)來調(diào)用,內(nèi)部定義的test函數(shù)被認為是重 復定義的函數(shù),不會被調(diào)用. 2.調(diào)用test ( @func1,2)的時候前括號用的中文括號,應改成英文的. 比如定義 f(x)=x^2,可以寫為 f=@(x)(x.^2) 其中@(x)(x.^2)就是匿名函數(shù),第一個括號里面是自變量,第二個括號里面是表 達式,@是函數(shù)指針 f=@(x)(x.^2)表示將匿名函數(shù)@(x)(x.^2)賦值給 f,于是f 就表示該函數(shù)。 于是f(2)=2.^2=4;f(1:3)=[1:3].^2=[1 4 9等] 等 定義匿名函數(shù)時也可以調(diào)用別的匿名函數(shù),比如 f1=@(x,y)(x.^2+y.^2) 定義了函數(shù) x^2+y^2 f2=@(t)(f1(t,2)) 定義了函數(shù) t^2+4 f3=@(x)(f1(x(1),x(2))) 定義了函數(shù) x(1)^2+x(2)^2 使用匿名函數(shù)時一定要注意函數(shù)本身的參數(shù)形式,如 f1(2,3) 表示2^2+3^2 f2(3)=3 表示3^2+4 f3([1,2]) 表示1^2+2^2 說白了就是函數(shù)指針 ------ 11/Function()函數(shù) https://sa93g4./pages/squestion/squestion?qid=1759559622564159148&rid=2844716703&titleScroll=128&eid=20430&_swebfr=1 調(diào)用必須返回執(zhí)行結(jié)果,而 Proceduren 過程的調(diào)用是不用返回值。例如:要利用函數(shù)計算兩個整數(shù)的加運算,并返回計算的結(jié)果。定義函數(shù) Functon AddRet(x as integer ,y as integer) AddRet=x+y End Function z=AddRet(6,8) '調(diào)用函數(shù) 當執(zhí)行上面的命令后,z 值=14,而過程就直接執(zhí)行了定義全程變量 z定義執(zhí)行過程 Sub AddRet(x as integer ,y as integer) z=x+y End Sub 調(diào)用過程Call AddRet(6,8)查看變量 z 的值應該是 14 10) Excel VBA自定義function函數(shù)作為公共變量功能調(diào)用的方法 Public Qyh As Integer Public Qym1 As String Sub ggBl1() '公共變量聲明和使用 Call QyhQym1(Qyh, Qym1) Call t1 Call t2 'Call confunction End Sub Function QyhQym1(Qyh, Qym1) Qyh = InputBox("企業(yè)號") ' y = Year(Now) 'Debug.Print y m = Month(Now) m1 = m - 1 'Debug.Print m1 ym1 = "/" & y & "-" & m1 Qym1 = Qyh & ym1 'Debug.Print Qym1 'Range("B2") = hym1 'Qym1 = "1a/2019-05" 'Cells(100, 1) = Qyh '將企業(yè)號,存入當前工作表的單元格中 End Function Sub t1() 'Debug.Print Qym1 a1 = Qym1 & "t1" Debug.Print a1 End Sub Sub t2() a2 = Qym1 & "t2" Cells(6, 1) = a2 Debug.Print a2 Cells(6, 2) = Qym1 Debug.Print Range("b6") End Sub ------- 9)https://zhidao.baidu.com/question/324580486.html Function gs() gs = ActiveSheet.Cells(ActiveCell.Row, 1) + ActiveSheet.Cells(ActiveCell.Row, 2) + ActiveSheet.Cells(ActiveCell.Row, 3) End Function 在D列及其右邊列輸入 =gs() 2、Function gs(a, b, c) gs = a + b - c '把公式的計算過程寫到這里,輸入公式時只要傳入?yún)?shù) End Function 在D1輸入 =gs(A1,B1,C1) 復制填充公式 3、其實要實現(xiàn) 作表中在錄入數(shù)據(jù)后目標單元格自動計算,但不需要別人看見目標單元格中的公式 可用工作表保護配合單元格鎖定來解決 8)怎樣在一個EXCEL的VBA里調(diào)用另一個EXCEL里的自定義VBA函數(shù) https://zhidao.baidu.com/question/593812284.html?qbl=relate_question_4&word=VBA%D6%B1%BD%D3%B5%F7%D3%C3function 7)Excel VBA Function函數(shù) 傳參問題 https://zhidao.baidu.com/question/570235220.html?qbl=relate_question_0&word=vba%BA%EA%D6%AE%BC%E4%D4%F5%C3%B4%B5%F7%D3%C3%B2%CE%CA%FD 6)要傳參的話是不是應該用Function定義函數(shù)而不是Sub? https://zhidao.baidu.com/question/429226193554767452.html?qbl=relate_question_6&word=vba%BA%EA%D6%AE%BC%E4%D4%F5%C3%B4%B5%F7%D3%C3%B2%CE%CA%FD 5E1)使用 If...Then...elseif...Else 語句(VBA)、Function http://www./home/show.aspx?id=9798 【1】 |
|
來自: c857084163 > 《Excel》