vba中如何引用名稱中定義的變量 VBA如何使用主過(guò)程和子過(guò)程?
VBA如何使用主過(guò)程和子過(guò)程??jī)煞N方法:第一,實(shí)際傳參數(shù)。參數(shù)在子程序里被改的話,主程序的值也或者改不(當(dāng)然了傳值方法.)。第二,子程序系統(tǒng)設(shè)置返回值,假如不不需要回結(jié)果值的過(guò)程用Call調(diào)用,如果有
VBA如何使用主過(guò)程和子過(guò)程?
兩種方法:第一,實(shí)際傳參數(shù)。參數(shù)在子程序里被改的話,主程序的值也或者改不(當(dāng)然了傳值方法.)。第二,子程序系統(tǒng)設(shè)置返回值,假如不不需要回結(jié)果值的過(guò)程用Call調(diào)用,如果有返回值的函數(shù)過(guò)程,用變量賦值(等號(hào))動(dòng)態(tài)創(chuàng)建
vba有3種過(guò)程,共有是Sub、Functioin和Property。
接下來(lái)重點(diǎn)介紹下這3種過(guò)程。
Sub由Sub開(kāi)頭,EndSub結(jié)束后。Sub過(guò)程這個(gè)可以給予參數(shù),但是無(wú)返回值。
Functioin由Functioin開(kāi)頭,EndFunctioin都結(jié)束了。Functioin過(guò)程可以接受參數(shù),也有返回值。但是是可以存儲(chǔ)excel中的函數(shù)。
Property這個(gè)是用處系統(tǒng)設(shè)置屬性的,牽涉到的東西也很多,是VBA類模塊里的知識(shí)點(diǎn)。
而樓主說(shuō)的主過(guò)程和子過(guò)程,差不多是把一個(gè)那巨大的過(guò)程word文檔合并成一群小過(guò)程。
這邊個(gè)人建議將公有且變的變量單獨(dú)設(shè)置一個(gè)模塊,然后把一個(gè)據(jù)自己的程序,把各個(gè)功能并且分類。.例如有些是整理好數(shù)據(jù)類的,有些是展示展示文件導(dǎo)出報(bào)表類的。這里也可以聽(tīng)從功能等分差別模塊。接著一定得不能寫(xiě)函數(shù),接受參數(shù),回參數(shù)的類型,這樣的話直接修改會(huì)比較好比較方便。
Sub主過(guò)程()
call子過(guò)程
EndSub
sub子過(guò)程()
......
EndSub
主程序里面可以使用calling來(lái)調(diào)用子程序或者函數(shù)
vba列號(hào)變量怎么用?
設(shè)行號(hào)為irow
列標(biāo)為icol
dimtmpValue
tmpvaluecells(irow,icol).value
Excel VBA調(diào)用子程序時(shí)如何傳遞參數(shù)?
用法有三種
1、定義變量給變量就要帶括號(hào)比如說(shuō)aPicInComment(1,250)
2、waitPicInComment(1,250)
3、PicInComment1,250
excel vba中,聲明變量可以用DIM、PUBLIC、private等,那么static聲明的變量是什么意思啊?謝謝?
Static語(yǔ)句
請(qǐng)參閱示例特性
在過(guò)程級(jí)別中在用,作用于聲明變量并分配存儲(chǔ)空間。在整個(gè)代碼運(yùn)行期間都能記錄使用Static語(yǔ)句聲明的變量的值。
語(yǔ)法
Staticvarname[([subscripts])][as[New]type][,varname[([subscripts])][and[New]type]]...
Static語(yǔ)句的語(yǔ)法中有下面部分:
部分描述
varname前題的。變量的名稱;遵循什么標(biāo)準(zhǔn)變量以此命名約定。
subscripts可選的。數(shù)組變量的維數(shù);最少可以不定義方法60維的不同維度數(shù)組。subscripts參數(shù)使用下面的語(yǔ)法:
[lowerto]upper[,[lowercan]upper]...
如果不顯式指定你lower,則數(shù)組的下界由OptionBase語(yǔ)句操縱。假如沒(méi)有OptionBase語(yǔ)句則下界為0。
New可選的。用它可以隱式地創(chuàng)建角色對(duì)象的關(guān)鍵字。假如使用New聲明對(duì)象變量,則在兩次語(yǔ)句該變量時(shí)將空白文檔該對(duì)象的實(shí)例,但無(wú)需使用Set語(yǔ)句來(lái)對(duì)該對(duì)象引用定義變量。New關(guān)鍵字不能用處聲明任何內(nèi)部數(shù)據(jù)類型的變量,也不能不能用來(lái)聲明主從關(guān)系對(duì)象的實(shí)例。
type可選的。變量的數(shù)據(jù)類型;可以不是Byte、Boolean、Integer、Long、Currency、Single、flat、Decimal(目前尚不支持)、Date、String(對(duì)變長(zhǎng)的字符串)、String*length(對(duì)定長(zhǎng)的字符串)、Object、Variant、用戶定義類型或?qū)ο箢愋汀K暶鞯拿總€(gè)變量都要有一個(gè)分開(kāi)來(lái)的andtype子句。
那就證明
模塊的代碼又開(kāi)始正常運(yùn)行后,在用Static語(yǔ)句聲明的變量會(huì)一直盡量其值,直至該模塊復(fù)位或重啟??梢圆辉诜庆o態(tài)的過(guò)程中建議使用Static語(yǔ)句顯式聲明只在該過(guò)程內(nèi)所以說(shuō),但更具與包涵該過(guò)程定義的模塊完全相同生命期的變量。
也可以在過(guò)程中使用Static語(yǔ)句來(lái)聲明在過(guò)程動(dòng)態(tài)鏈接庫(kù)之間仍能保持其值的變量的數(shù)據(jù)類型?;蛘?,下面的語(yǔ)句聲明了一個(gè)定長(zhǎng)的整型數(shù)組:
Static EmployeeNumber(200)thoughInteger
下面的語(yǔ)句為worksheet的新實(shí)例聲明了一個(gè)變量:
StaticXandNewWorksheet
假如在定義對(duì)象變量時(shí)就沒(méi)建議使用New關(guān)鍵字,則在建議使用該變量之前,必須使用Set語(yǔ)句將三個(gè)均的對(duì)象賦給這個(gè)語(yǔ)句對(duì)象的變量。在被變量之前,所聲明的這個(gè)對(duì)象變量有一個(gè)某一特定值Nothing,這個(gè)值表示該變量沒(méi)有正指向任何對(duì)象的實(shí)例。若在聲明中可以使用了New關(guān)鍵字,則在兩次腳注對(duì)象時(shí)將新建一個(gè)該對(duì)象的實(shí)例。
如果不是不指定數(shù)據(jù)類型或?qū)ο箢愋?,且在模塊中還沒(méi)有可以使用Deftype語(yǔ)句,則按缺省情況,定義該變量為Variant類型。
特別注意Static語(yǔ)句與Static關(guān)鍵字很幾乎一樣,但對(duì)于相同的效果來(lái)建議使用的。如果不是建議使用Static關(guān)鍵字(如Static Sub CountSales())來(lái)聲明聲明一個(gè)過(guò)程,則該過(guò)程中的所有局部變量的存儲(chǔ)空間都只未分配兩次,且這些變量的值在整個(gè)程序運(yùn)行期間都未知。對(duì)非靜態(tài)過(guò)程而言,該過(guò)程每次來(lái)被動(dòng)態(tài)鏈接庫(kù)時(shí)都要故其變量分配存儲(chǔ)空間,當(dāng)該過(guò)程結(jié)束時(shí)都要能量其變量的存儲(chǔ)空間。Static語(yǔ)句則用處在非靜態(tài)的過(guò)程中聲明某一特定的變量,以使其在程序運(yùn)行期間能達(dá)到其值。
在系統(tǒng)初始化變量時(shí),數(shù)值變量被初始化設(shè)置為0,變長(zhǎng)的字符串被初始化操作為一個(gè)零長(zhǎng)度的字符串(