因此,這不是一個巨大的交易,但它在我的皮膚下。我試圖在之間共享一個變量之間的一個用戶窗體。聲明一個公共變量似乎是一個簡單的方法來實現它,但顯然,你不能從一個用戶表單中聲明公共變量。所以我似乎必須在一個完全不相關的模塊中聲明變量,我發現這個模塊非常煩人。這是在用戶表單中的subs之間傳遞變量的唯一方法嗎?Excel VBA共享變量內用戶
對於上下文,我試圖在「設置」用戶窗體上進行「確定」,「應用」和「取消」按鈕,其中「確定」和「應用」按鈕將永久性地進行設置中的更改。
這是從列表框(PathList)中刪除項目的按鈕。該列表框正在工作表上存儲數據,但我不希望項目實際上從工作表中刪除,直到我點擊「應用」。我想與ApplyButton_Click子例程共享SelectedArray()變量,以便「應用」按鈕實際上可以從工作表中刪除單元格。評論的代碼是我想要的「應用」按鈕來做的。
Private Sub RemovePathButton_Click()
Dim SelectedArray()
Dim ctr As Integer
ctr = 1
For intCount = PathList.ListCount - 1 To 0 Step -1
If PathList.Selected(intCount) = True Then
ReDim Preserve SelectedArray(ctr)
SelectedArray(ctr) = intCount
ctr = ctr + 1
End If
Next intCount
For i = 1 To UBound(SelectedArray)
' Dim num As Integer
' num = SelectedArray(i) + 4
' Worksheets("Settings").Range("A" + CStr(num)).Delete (xlShiftUp)
PathList.RemoveItem (SelectedArray(i))
Next
End Sub
謝謝!我知道它必須是那樣簡單。這是否也適用於常規模塊?在模塊內的所有子變量之前簡單地聲明變量? –
@AlecHolmes不客氣。是的,這是真的。如果你在模塊的頂部聲明它們,就稱爲模塊級變量。 – sktneer