Tag: 全局variables

使用公共variables来存储path,并在另一个模块中使用它

我有一个不同模块的工作簿,每个模块都有不同的目的。 代码的function:第一个模块打开一个FileDialog框,要求用户select源文件(.csv)的path,然后search每个源文件的名称并将其粘贴到主工作簿中。 第二个模块读取文件名并使用“pathS”variables; 从第一个模块获取来自源工作簿的信息。 第三个模块清除所有信息并将其输出到新的工作簿。 我已经尝试过了:variablespathS在第一个模块中定义为源文件的位置,然后在模块2中用于定位文件(用于信息提取)。 我在模块1之外宣布它是公开的。 问题:当我运行模块2时,找不到源文件。 问题:我使用variables的方式有什么问题吗? 相关编码: 模块1: Option Explicit Global pathS As String Sub Counter() Dim count As Integer, i As Long, var As Integer Dim ws As Worksheet Dim w As Workbook Dim Filename As String Dim FileTypeUserForm As UserForm Dim x As String Dim varResult As Variant Dim OutPath […]

公共/全球范围似乎并非始终可用

我想让工作表在特定单元格更改时运行一个macros。 我已经使用下面的代码来初始化确定哪些单元格将导致macros运行的范围,但似乎这个范围的生命周期不是应用程序? Public ChangeCellList As Range Private Sub Workbook_Open() With Sheets("Program") For i = 7 To .Cells(Rows.Count, "E").End(xlUp).Row If Not IsEmpty(.Cells(i, "E")) Then If ChangeCellList Is Nothing Then Set ChangeCellList = .Range("E" & i) Else Set ChangeCellList = Union(ChangeCellList, .Range("E" & i)) End If End If Next i End With End Sub 可能的问题我将不胜感激的build议: 1)声明公共variables的正确位置(例如module1 /这个工作簿/ […]

VBA – 定义一个用户表单稍后调用它

对不起,如果这不明确,但由于某种原因,我的代码最近停止工作,我不知道为什么。 基本上,我在我的工作中创build了一个excel vba程序来做报告(例如炉子报告或树报告)。 有一个封面表格,要求用户input报告的各种细节(即出席者,date,地址等)。 一旦完成,他们然后select一个报告来完成(有5个不同的用户表单,他们可以从封面上去)。 例如,如果他们select电气,他们然后可以select一般,火炉或热水系统报告(记住这一点)。 说他们select水暖,他们可以select一般或热水系统报告。 inheritance人我的问题…我已经回来或返回所有的用户forms(除封面页)上的button,我使用相同的用户表单为热水系统和一般报告电气和pipe道(因为文本框,checkbox是相同的)。 考虑到这一切…..(对不起….)….. 我如何定义什么样的用户表单(pipe道或电气)也回来? 如果需要可以发布代码

使用2个子variables

我在excel文件中有20多个子文件,还有一些用户forms。 在一个用户窗体中,有一个取消button,但是我不能在另一个子窗口中使用“if cancel = true”的代码。 我不知道为什么,但它永远不会实现。 所以我认为,如果我可以声明一个variables在用户窗体中是真实的,然后检查另一个子variables,那么可能工作,但不幸的是,我不知道这一点。 在下面你可以find两个代码; 这是用户表单; Private Sub Sheet_Iptal_Click() Dim Sheet_Iptal As String Sheet_Iptal = True ThisWorkbook.Worksheets("Storyboard").Delete Yeni_Sheet_Adi_Olustur.Hide MsgBox "Islem iptal edildi." Yeni_Sheet_Adi_Olustur.Yeni_Sheet.Value = "" End Sub 这里是我想检查“Sheet_Iptal”情况的另一个子部分。 If Sheet_Iptal = True Then ThisWorkbook.Worksheets("Storyboard").Delete GoTo son End If 我在这里基本上试图实现的是,如果已经使用了取消button,那么去该特定子的“儿子”。 我接受任何build议。

在filter中使用lastrowvariables会生成空白表单

我有这个代码生成一个空白表的问题: With Sheets("Sheet1") LastRow = .Range("AG" & .Rows.Count).End(xlUp).Row End With ActiveSheet.Range("$AG$1:$AG$" & LastRow).AutoFilter Field:=1, Criteria1:= _ "FS Cable OR Bend In/Service Group" 是的,最后一行是准确的,在AG栏有价值的文字。 谢谢你的帮助。

全局粘贴值为Excel

以下代码仅适用于“仅粘贴值”事件。 当数值在同一张表之间移动时,它就起作用了。 但是,如果我从一个不同的工作簿中复制一个值并运行该macros,Excel会抱怨数据超出范围。 一个人如何去做一个全局的粘贴值macros来运行整个Excel程序? Sub PasteValOnly() ' ' PasteValOnly Macro ' pastes values only ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub

从工作簿中的工作表子集中复制数据并粘贴到主工作表,忽略标准主表

你好,社区,并提前感谢您的帮助。 我已经创build了一个工作簿,其中有大量可变名称的工作表。 然而,有4个工作表不会改变,我不希望从它们复制数据。 我正在尝试的代码如下:如果我的基地,请让我知道。 V / R道格 Private Sub GroupReport_Click() Dim sh As Worksheet Dim DestSh As Worksheet Dim Last As Long Dim CopyRng As Range Dim Disreguard(1 To 4) As String Disreguard(1) = "RDBMergeSheet" Disreguard(2) = "0 Lists" Disreguard(3) = "0 MasterCrewSheet" Disreguard(4) = "00 Overview" ' Delete the summary sheet if it exists. […]

在Excel范围中使用variables

我正在寻找使用variables来find一个范围,然后使用这些来激活一个select。 这里是我有的代码: Dim first As Integer Dim Last As Integer first = (ActiveCell.Row + 1) Selection.End(xlDown).Select Last = (ActiveCell.Row – 1) Range(("J" & first) : ("J" & last)).Select 但是,Excel VBA 2010中出现此语法错误。 有什么build议么。 谢谢,

从.xlam获取variables到.xlsb

最近我发现了关于.xlam文件来重用我在几个文件中使用的函数。 我不是一个程序员,所以这可能是一件容易的事情,但我已经过了几个小时,我找不到解决的办法。 我刚刚创build了一个项目,使用了我最常用的一些function,并将文件保存在Sharepoint站点中。 之后,我创build了一个参考,一切似乎都运作良好。 我可以调用一个函数 call FunctionName() function运行良好。 但我还没有find方法来将.xlam文件的全局variables返回到我的.xlsb文件我在.xlam模块中定义一个全局variables Global CRegion As String 在同一个模块中,我有这个简单的macros: Function GetRegion() CRegion = Range("B2").Value End Function 然后在我的.xlsb文件中,在调用GetRegion函数后,testing类似这样的东西。 Msgbox CRegion 结果是一个空的消息框。 我试图在我的.xlsb文件中定义一个具有相同名称的全局variables,但它仍然不起作用。 ¿解决这个问题的任何线索?

VBA – 在Excel项目之间传递variables

我的问题:如何设置在其他Excel项目中声明的variables的值? 背景:我正在从一个不同的Excel项目调用一个私人子(我不知道是否重要,但我感兴趣的子是Excel加载项的一部分)。 在加载项我有: 公共sapEEID作为string Private Sub UpdateLetterTemplate 我能够运行子使用:Application.Run(“'解决scheme添加.xlam'!UpdateLetterTemplate”) 不过,variablessapEEID =“” 运行UpdateLetterTemplate私有子时有没有办法传递“17”作为sapEEID?