Tag: public

从useform vba加载的公共数组

Iam创build一个macros,我需要访问在模块中创build和填充useform(button_click动作)的数组。 Private Sub CommandButton1_Click() Dim tmojo As Worksheet Dim mojocell As Range Set tmojo = Sheets("table mojo") colls = tmojo.Range("N1").End(xlToLeft).Column i = 1 For Each cCont In Me.Controls If TypeName(cCont) = "ComboBox" Then If cCont.Enabled = True Then If cCont.Value = Empty Then MsgBox "you havent specified all the columns" Exit Sub End If ReDim […]

VBA:使用公共variables为其他潜艇

Excel的VBA。 我想创build一个variables,稍后我将使用其他一些子variables。 在关于这个的其他问题之后, Public Counter As Integer 然后,我继续给这个variables赋值 Sub Count() Set sh2= ActiveWorkbook.Sheets("Sheet2") Set sh1 = ActiveWorkbook.Sheets("Sheet1") Dim rng As Range Dim trng As Range Set trng = sh2.Range("A4:HV4") For Each rng In trng If rng.Value = "Name" Then Counter = Range(rng, rng.End(xlToLeft)).Columns.count End If Next rng 如果我尝试在相同的数值上进行testing,例如 sh1.range("B1").value = counter 我得到正确的号码。 但是,一旦我尝试在另一个子上调用它,值是0! Sub Test() […]

VBA公共variables

作为我的代码的一部分,我遇到了麻烦。 我正在使用我来保持我当前行的值,所以我可以在我的程序中使用这个范围。 在我的循环,它增加我,所以它会逐步通过一列和searchv然而,当我尝试使用“我”在另一组代码“我”不再有一个值。 我不知道如何全局/公共variables在VBA中工作,或者是什么原因导致这个错误。 该问题发生int小组“是”,并在代码分“不” Cells(i,lcol).value=" ok " 和 Cells(i,lcol).value = " updated " 第一套代码如下,这是我的价值为“我” Public V As Integer Public i As Integer Private Sub Enter_Click() Dim EmptyRow As Long 'Audit will only search Master Sheet Worksheets("Master").Activate 'Find empty row value so we can use that for limit of search With Sheets("Master") EmptyRow = .Range("A" […]

如何将Excel VBA中的全局variables声明为在工作簿中可见

我有一个关于全球范围的问题,并把这个问题抽象成一个简单的例子: 在Excel工作簿中:在Sheet1中,我有两个(2)button。 第一个被标记为SetMe ,并链接到Sheet1模块中的子例程: Sheet1代码: Option Explicit Sub setMe() Global1 = "Hello" End Sub 第二个标签为ShowMe ,并链接到ThisWorkbook模块中的子例程: ThisWorkbook代码: Option Explicit Public Global1 As String Debug.Print("Hello") Sub showMe() Debug.Print (Global1) End Sub 点击SetMe会产生一个编译器error: variable not defined 。 当我创build一个单独的模块,并将Global1的声明移入它时,一切正常。 所以我的问题是:我读过的一切都表明,在模块的顶部声明的全局variables,任何代码之外的variables应该对项目中的所有模块都可见。 显然情况并非如此。 除非我对Module的理解不正确。 对象Sheet1 , Sheet2 , ThisWorkbook ,…随工作簿一起提供:是不是可以在全局范围声明variables的模块? 或者是唯一可以声明一个全局的地方,在一个单独的Moduletypes模块中 。