Tag: 全局variables

隐藏variables声明VBA

问:是否有可能在VBA中隐藏了一些variables的声明? 情况: 我有一个Excel文件有很多的模块,但由于某些原因,每当我们打开它的消息出现 我尝试了一些在某些论坛上find的“解决scheme”,但是没有成功 – >我决定把所有的东西都复制到一个新的“干净”的excel文件中。 问题:代码不运行,说variablesXXX没有声明(好的…有道理),但我检查了损坏的文件,即使它没有声明任何地方(我在整个项目中查找与Finder )有问题的代码可以运行…混乱! 对此有何解释?

Excel VBA – 在End Sub之后保持variables相同

我有一些代码,给了我一些变数 – Champ 。 我希望能够运行这个程序,然后在我的下一个Sub()中引用这些variables。 代码是: Sub CreateUniqueList() Dim dict As Object, lastRow As Long, Champ, c Set dict = CreateObject("Scripting.dictionary") With Sheets("Raw Data") lastRow = .Cells(.Rows.count, "D").End(xlUp).row For Each c In .Range("D7:D" & lastRow).SpecialCells(xlCellTypeVisible) dict(c.text) = 0 Next End With Champ = dict.Keys ' Now you have the "variables". To create the new sheet: […]

VBA。查找dynamic更改参数

我有一个使用.find方法的VBA函数。 在我的函数中,我想改变xlPart或xlWhole之间的LookAt:参数。 我尝试使用参数variablesmatchvalue并传入“xlPart”或“xlWhole”。 它没有工作。 有没有办法改变LookAt:参数与我传入我的函数的variables? Public Function getfield(matchvalue as string) GetRowNumber = Cells.Find(What:="Cat", After:=ActiveCell, LookIn:=xlValues, LookAt:= _ matchvalue, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate End Function

在powerpoint和excel VBA之间交换variables

当按下button时,我有一个从excel表中获取一些数据的powerpoint压力。 Set EXL = New Excel.Application EXL.Visible = False Dim XLApp As Excel.Application Set XLApp = GetObject(, "Excel.Application") 这是我如何设置新的Excel应用程序。 我想知道的是,我怎样才能从我的幻灯片variables发送到Excel工作簿的variables? 我在我的幻灯片幻灯片,我想要在Excel中的variables中使用的文本textfield。 这可能吗? 如果是这样,怎么样? 而且我怎样从一个powerpoint模块中调用excel工作簿中的一个Sub来运行?

在声明中作为variables名称的一部分variables? 处理图表系列

有没有办法如何在for循环中声明variables,并使用“int i”作为variables名称的一部分? 我试图在for循环中设置我的excel图表的一些调整,并且为每一行指定不同的颜色需要不同的系列:|。 我想要这样的东西: for(int i=0; i < myMaximum; i++ ) { Excel.Series series_i+1 = (Excel.Series)mychart.SeriesCollection(i+1); series_i+1.Border.Color = mycolors[i]; } 是这样的可能吗? 我需要在for循环中执行它,因为系列的数量取决于myMaximum的数量。

如何处理Excel VBAinputvariables中的破折号?

我有一个Excel VBAmacros的一些麻烦,并希望你可以给我一些build议,如何解决它。 在下面的代码中,当用户点击一个命令button时,popup一个input框,用户input一个XXX-XXXXXX(例如111-222222)forms的数字。 然后,macros从与button相邻的列中获取值,并使用inputvariablesreplace相邻列值的某个部分。 但是,当我试图运行macros并input一个数字,如123-456789,没有任何反应。 我相信这与用户input的短划线有关,但我不知道如何解决这个问题。 请帮忙! Sub CommandButtonTitleXXXdashXXXXXX_Click() Application.ScreenUpdating = False On Error Resume Next Dim n As Integer n = Worksheets("REVISIONS").Range("D3:D17").Cells.SpecialCells(xlCellTypeConstants).Count If n = 15 Then If MsgBox("Title revision box full. Add manually.", vbOKOnly, "Error") = vbOK Then Exit Sub End If End If Dim rs As Integer rs = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row Dim amount […]

在公式中插入一个variables

我正试图插入一个variables,我将插入到一个表格中。 该公式应该是从另一个表执行一个sumproduct。 我通常只是调用表名,但问题是这将在不同的表上运行不同的时间,所以它永远不会是相同的表名。 我用variables“PrevSh”replace了表名, 下面这个公式是我的macros。 它给我的问题。 它给我的应用程序定义或对象定义的错误。 (('['&amp; PrevSh&“]!$ D $ 4:$ D $ 485 = A7])*('[”&PrevSh&“]!$ E $ 4:$ E $ 485)), “”)” Dim sh As Worksheet Dim TableName As String Dim theTable As ListObject Dim PrevSh As String Set sh = ActiveSheet TableName = ActiveSheet.Previous.Name & "_Spider" PrevSh = ActiveSheet.Previous.Name Sheets.Add.Name = (TableName) […]

VBA查找function不能与variables一起使用

我正在创build一个工作表,它需要应用程序来searchexcel工作表中保存在variables中的值。 我正在使用“.Find”function。 我的问题是,当它被存储在一个variables名称中时,找不到的值将被find,尽pipe它在我input一个实际值时有效。 例如: 这工作 Dim cellersd, celltid, ersdcol, tidcol Set cellersd = book.Worksheets(mon & yer).Range("5:5").Find("28/08/2013") Set celltid = book.Worksheets(mon1 & yer1).Range("5:5").Find("30/09/2013") If cellersd Is Nothing Then MsgBox "not found" Else MsgBox cellersd.Column End If If celltid Is Nothing Then MsgBox "not found" Else MsgBox celltid.Column End If 这不工作 rsd = Worksheets("workload").Range("p4").Value tid = Worksheets("workload").Range("p3").Value […]

超出范围的错误

我试图激活无数标签命名为例如我有一个名为“95004700”的标签我引用这些代码在列表中,然后设法激活相应的选项卡(我设置他们=variablesSTRcode)。 出于某种原因,我经常在“工作表(STRcode)中出现超出范围的错误。激活”有人可以向我解释为什么? 我觉得这可能与我所引用的单元格的格式或我设置variables的方法有关。 Sub Budget_Actual() Dim DBLdatarow As Double Dim STRcode As Long Dim STRname As String Dim cell As Range DBLdatarow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row – 1 'loop #1 Do While DBLdatarow > 5 STRcode = Range("D" & DBLdatarow).Value STRname = Range("B" & DBLdatarow).Value Workbooks.Open Filename:="File Path" Worksheets(STRcode).Activate Columns("B:B").Select Set cell = Selection.Find(What:=STRname, After:=ActiveCell, LookIn:=xlFormulas, […]

在excel vba中重置variables

我正在试图用VBA为我做一些工作。 假设我有4个variables – 单位,租约开始date,租约条款和替代租约条款还有更多,但这对我的问题无关紧要。 VBA循环遍历每一行,并获得单元i在各列中的值。 因此,从逻辑上讲,我可以将单位声明为string,将开始date作为date,将租约作为单个租约,将租约作为单个租约。 我有的问题是,我需要区分空的条目和0.默认的数值将是0. 0和空白之间的区别是至关重要的。 我发现解决这个问题的唯一方法是声明一切为Variant,然后检查相应的范围是否为空。 如果它是空的,则租用Variant默认值(空),否则分配值。 我有一种感觉,这将严重影响我的代码性能。 最终,会有很多variables,我想在代码中引用这些variables。 就像, if isempty(AltLease) = true then做一件事,否则别的东西。 我也发现,我不能清空单个或datevariables(date实际上不是一个问题,因为它下降到1900)。 任何人都可以提出build议 这里是代码: Dim tUnitName As Variant Dim tNumberOfUnits As Variant Dim tLeaseCurLeaseLengthDef as Variant Dim tLeaseCurLeaseLengthAlt as Variant Sub tenancyScheduleNew() Dim lRow As Long Dim i As Long lRow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Row For i = 3 […]