Excle VBA子程式自定義函式賦值哪位大俠幫忙看看我的程式為什麼子程式外沒有被賦值啊

2022-10-06 17:17:53 字數 2935 閱讀 4204

1樓:匿名使用者

你的alf變數用public定義了,在nn過程中就不能再定義了,否則值就會直接賦給nn過程中的alf變數,你的falf函式中alf還是全域性變數,自然是空值了。

補充回答:

只要用public定義,然後不管在哪個過程和函式中都不要再定義就可以了。

call vba_start vba顯示子程式或函式未定義,**如下,請問**出了問題了,vba小白求解答,謝謝。 50

2樓:匿名使用者

call vba_start 是指執行 vba_start 這個程式

vba_start 是另外一個 sub過程你要貼的 是 vba_start 這個程式的**如果沒有,就要 新增

excel vba怎樣呼叫自定義函式

3樓:想學

vba中自定義函式,就是子程式,直接使用函式名,就行了。

4樓:

在vba中自定義的函式,需要能在excel中引用,需要在function前面加public

引用方法:=function_name

一個關於excel vba 子程式控制元件引數傳遞的問題 5

5樓:匿名使用者

為什麼要用子過程呢,看你的要求根本沒必要啊

假設窗體名稱為userform1, 文字框的名稱分別是textbox1,textbox2,textbox3 ,按鈕的名稱是commandbutton1

在textbox3中輸入textbox1或者textbox2,然後點選按鈕

按鈕的**如下

private sub commandbutton1_click()

on error goto err

if textbox3.value <> "" then userform1.controls(textbox3.value).value = "aaa"

exit sub

err:

msgbox "輸入的文字框控制元件名稱錯誤或不存在!"

end sub

建議你把textbox3 用列表框代替,然後新增textbox名稱到列表.下拉選擇即可,這樣可以避免輸入文字框錯誤,從而省去錯誤處理** 同時也簡化了.操作.

6樓:南宮翊

將textbox改為 msforms.textbox

excel vba中,如何使一個自定義函式工作起來?

7樓:匿名使用者

你用function的話,這個是個函式,是個值,當然不能在那兒孤零零的使用。

要這樣用,a=char_a("[n]",3),要賦予某個變數。

而sub就不一樣了,本身只是個子程式,呼叫即可。

call sub(a,b)或者sub a,b

修改後的結果,樓主查收:

sub char_a(q as string, w as single)

if len(q) < 0 or w <= 0 then

msgbox "函式引數錯誤"

exit sub

else

with userform1 '估計樓主是在某個窗體中使用的,姑且定為userform1

i = .textbox1.selstart

n = left(.textbox1.value, .textbox1.selstart)

m = right(.textbox1.value, len(.textbox1.value) - .textbox1.selstart)

.textbox1.value = n & q & m

.textbox1.selstart = i + w

end with

end if

end sub

各個模組使用如下:

private sub label1_click()

call char_a("[n]", 3)

end sub

private sub label2_click()

call char_a("[p##]", 4)

end sub

private sub label3_click()

call char_a("[mp##]", 5)

end sub

執行成功!

8樓:匿名使用者

function有回傳的值 呼叫的時候寫,dim kkk as integerkkk=aaa(4)

sub沒有回傳值,只在方法體內進行**執行。相當於vc中的voidpublic sub kkk(byval zzz as integer)

...end sub

呼叫的時候寫

call kkk(4)

或: kkk(4)

9樓:匿名使用者

你函式放在什麼地方了??

函式放在模組裡的話,最好前面加上public。

因為click**你肯定放在form裡的,如果函式放在模組裡的話沒有public是呼叫不到的。

請教,在excel vba 中,如何在子程式完成後返回值到主程式(呼叫子程式的引數傳遞我已知道方法了)?

10樓:匿名使用者

兩種方法:第一,通過傳引數。引數在子程式裡被修改的話,主程式的值也相應改掉(當然傳值方法除外)。第二,子程式設定返回值,

private sub() as string

11樓:匿名使用者

你設定變數為全域性變數,這樣就可以了。

12樓:匿名使用者

我還沒有到掌握excel vba的地步,我先至此了,今後我再關注高人指點!

jquery自定義函式問題,和js自定義函式的區別

自定義函式就是你自己寫一個函式,然後呼叫它就可以了function a id 在jquery裡面怎麼寫自定義函式 你可以寫一個函式自呼叫方法,function 在這裡面寫方法,就自己呼叫了,想要把握呼叫的時機,可以直接用你的那種方法,在你想呼叫的地方這樣寫就ok了,getnowtime 關鍵是你的自...

C 建立A a而程式設計師自定義的是帶引數建構函式,那麼是否會呼叫預設建構函式

自定bai義建構函式會覆蓋預設構造函du數,就是zhi說定義了帶參的構造函dao數後,編 當程式bai員自定義的建構函式du是帶引數構zhi造函式,編譯器不會自dao動生成不帶參內數的構造函容數,即建立a的物件時,物件必須有引數 此時建立a a,編譯器會報錯。當程式設計師沒有自定義建構函式時,編譯器...

cad中怎麼自定義線條,CAD中怎麼自定義線條?

兩種cad中自定義線型的方法 方法一 1 在cad的安裝目錄下support資料夾內找到acad.lin 2 複製到其他資料夾,並改名為acadwater.lin,用記事本開啟 3 修改增添其中相關的語句,修改後儲存。舉例說明 gas line,gas line gas gas gas gas ga...