Excel VBA問題 如何定義全域性變數

2022-03-09 10:56:05 字數 2828 閱讀 6776

1樓:輕煙談生活

excel vba 定義全域性變數的具體操作步驟如下:

1、首先我們開啟電腦裡的excel軟體進入excel主介面。

2、然後我們滑鼠右擊下面的工作表(如sheet1),選擇「檢視**」,就可以開啟vba編輯介面。

3、如圖顯示開啟vba程式設計介面。

4、接著就是在**框裡輸入定義一個執行函式。

5、接著就是在**框裡輸入全域性變數,定義方式【globlal 變數】,通過以上步驟即定義好了一個全域性變數。

2樓:匿名使用者

public xx as yy

vb是這樣的,vba應該也不會錯吧。

另外這個定義應該寫在模組中。

如圖,點選右鍵選擇插入模組,然後在模組中插入**。

3樓:玩具兵具玩

無論在標準模組,或是**、文件物件中寫的**,均可以在通用部分用public 關鍵字來宣告全域性變數。

例如 public a as long,b as long這樣宣告的變數是專案級的全域性變數,均可以在整個專案中使用。

不加public關鍵字宣告變數預設為private,即只能在本模組(容器)中呼叫。

「標準模組」就是在工程專案視窗中點選右鍵--插入--模組,新建的模組,區別於類模組。excel vba中使用者窗體、模組、類模組,excle表物件、工作簿物件均可以作**的容器。

4樓:匿名使用者

首先要清楚全域性變數定義的地方,在excel當中的標準模組中定義。定義格式為public 變數名 as 變數型別。在各個工作表中所置的控制元件及對應的程式應分別在對應工作表中,而不是在標準模組中。

祝你成功!

如何在excel的vba中宣告一個全域性變數並賦值

5樓:

excel

變數宣告

1、宣告一個變數並且給它賦值。

2、定義一個巨集函式,用於顯示全域性變數是否有值。

3、單擊執行巨集命令,通過按control +q, 如圖,提示框沒有提示。

4、然後改一下全域性變數宣告的位置。

5、再按一下control+q會得到提示框,如圖所示。

6樓:匿名使用者

它現在已經是全域性變數了,賦值什麼的和其他變數並無不同,只不過他可以在任意過程中通用.

就我的理解,你這樣就是一個常量了

7樓:

在一個標準模組下的開始部分寫下面的一句**試試看:

option explicit

public isalreadyclicked as booleanconst abc as integer = 6

8樓:匿名使用者

新新增一個模組宣告變數,在workbook的open事件中賦初值。

9樓:匿名使用者

你可以直接在變數定義後面賦值:

option explicit

public isalreadyclicked as booleanisalreadyclicked = true

10樓:匿名使用者

在函式外面定義

在函式裡面賦值

比如dim str as string

public sub test()

str = "nihao"

'上面語句就是給全域性變數賦值了

end sub

關於excel vba中全域性變數呼叫的問題 15

11樓:姓王的

如果能把全部**貼上出來就好分析了。最大的可能性是你按鈕2的過程中又重新定義了一個變數a,與全域性變數重名,那麼這個過程就無法引用全域性變數

在excel的vba裡如何定義公共變數?

12樓:匿名使用者

你把宣告語句以外的**放在sub ...end sub外面當然會"編譯錯誤: 不正確的外部程式"了

可以先寫一個公共過程,public sub 過程名...end sub

例:public sub abc

dim fer as string

dim axal, axaw, axsl, axsw, aoal, aoaw, aoql, aoqw, r701, r700, yer, zer as double

if zer > r700 and (fer = "l" or fer = "l") then

r701 = zer

elseif yer > r700 and (fer = "w" or fer = "w") then

r701 = yer

else

r701 = r700

end if

axql = int((axsl + axsw + aoal) / aoaw * aoql - aoqw)

axqw = int((axsl + axsw) * (aoal - aoaw) / aoql)

end sub

然後在工程內的其它過程或函式中通過過程名呼叫以上過程

例:sub aaa

**段abc

**段end sub

excel vba裡,怎麼設定全域性變數,放在哪?

13樓:解0人

放在**視窗的宣告區就可以

看到那條橫線嗎?放在橫線上面就行,如果你的**視窗沒有看到橫線,直接放到最上面第一行就好了。另外你的後面兩句不能放到宣告區,這個賦值語句放到你最先執行的sub裡面,或者workbook_open()裡面。

excel VBA自定義函式如何進行陣列計算

function f myrange as range dim myarr 1 to 5 dim myr as range dim i as single i 1 for each myr in myrangemyarr i myr.value i i 1 next f myarr 1 myarr ...

EXCEL VBA如何判斷字串是否等於陣列中的值

vba中陣列用arr 表示,字串可通過inputbox來手工輸入,判斷語句為for.if.then.next,舉例如下 sub tst dim arr 1 to 10 dim i p as string p inputbox tst for i 1 to 10 arr i i 個 if p arr ...

Excel vba如何設定用指定數字替代日期

excel vba設定用指定數字替代日期,其實就是提取後判斷處理再組合的一個過程。vba 如下 sub zdate endrow range a65536 end xlup row for i 1 to endrow str1 range a i y mid str1,4,1 m month str...