Tag: 模块

如何使用VBA导出图表button和细节

我一直在处理在我工作的Excel应用程序中导入/导出VBA模块和类。 似乎真正有用的版本控制使用。 我喜欢。 我可以轻松地在模块中实现代码更改,导出我的更改,提交并推送更改,并在Excel应用程序的另一个实例中“重新加载”(删除所有模块并重新导入)所做的更改。 但是,我无法find一种方法来使用这张表。 如果我添加一个可视化的变化(例如,我添加一个button或更改工作表的样子),是否有办法导出工作表作为代码,就像模块,以便我可以导入工作表完全一样它从我的变化看? 我已经知道了一些伪解决scheme,但是要么在版本控制方面不适合我需要的东西,要么将会太大提升。 首先,我可以编写一个VBA脚本来将我的Excel应用程序复制到一个.xlsx文件中,这个文件可以保存我的任何表单更改,然后我可以将它们导入到应用程序的另一个实例中,如果我想的话。 这个问题是我不能将它们包含在我的版本控制中。 我也知道,我可以在Workbook_Open事件中编写脚本,以在每次打开Excel应用程序时,以编程方式在我的工作表上实现我的用户界面。 这将解决我提交我的代码的问题,但太多了。 任何build议或解决这个问题? 编辑:要清楚,我知道我可以出口我的床单作为模块以及。 但是,似乎没有任何东西可以指示出口纸张的外观。 因此,当我导入“表单”时,它将作为类模块导入。

VBA将对象传递给另一个对象集合

我有一套业主,每个业主都有各自的机会。 我有两个类模块,具有一堆属性的ClmOpportunity和具有单个名称属性的ClmOwner和存储ClmOpportunity对象的Collection: Public name As Variant Private opps As New collection Public Function addOpportunity(opp As ClmOpportunity) opp.ID = opps.Count + 1 opps.Add opp, opps.Count + 1 End Function 这些所有者对象也被存储在我的主模块的集合中。 当我尝试使用addOpportunity函数时,如下所示: Dim item As New ClmOpportunity item.name = "test" owners.item(overallOwner).addOpportunity (item) 我得到的错误: “对象不支持这个属性或方法” 我对VBA很新,我不明白这是为什么,我正在通过一个ClmOpportunity,所以它应该没问题吧? 任何帮助将不胜感激!

VBA从模块(excel)更改实例variables

在VBA中,我需要一个模块子来告诉一个实例来设置一些variables。 在模块1中我有: Sub Load() ThisWorkbook.SetupVariables ThisWorkbook.TestVariables End Sub 在ThisWorkbook中我有: Private Variable1 As Integer Private Variable2 As String Private Variable3 As MyUserDefinedObjectType Public Sub SetupVariables() Variable1 = 5 Variable2 = "Five" Set Variable3 = New MyUserDefinedObjectType() End Sub Sub TestVariables() MsgBox Variable1 & " is spelled " & Variable2 Variable3.SomeFunction End Sub Load()内的TestVariables调用产生正确的结果,但后续对TestVariables的调用失败。 我怎样才能使Variable1和Variable2保持其值? (在我现实世界的情况下,这些variables是我定义的对象,不能作为公共variables。) 事件顺序: […]

自动化 – 在Excel上replace连接属性

我目前正在维护一些旧的(新格式.xlsx),每个连接超过60多个连接,每个连接从SqlServer提供一些不同的表。 我正在寻找某种工具包,模块,独立脚本(或任何其他的东西),让我批量更改每个连接属性中的命令文本 。 这个改变不应该比改变表名的一部分更难,因为新表只包含表所需的信息。 到目前为止,我所需要的只是那些python模块,但是它们似乎没有实现任何处理连接的东西。 预先感谢您提供的任何帮助。

模块子不会单独通过

我在我的程序中有一个模块,当从主程序调用时将运行,但我无法通过它或单独运行,我不明白为什么。 当我按F8时,似乎什么也没有发生。 我希望能够通过代码来监视variables。 这是来自模块的代码: Sub FileCntSub(ByVal StrPath As String) Dim FolderPath As String, path As String, count As Integer, countstring As String FolderPath = StrPath path = FolderPath & "*.htm" Filename = Dir(path) Do While Filename <> "" count = count + 1 Filename = Dir() Loop countstring = count Range("Q8").Value = count 'MsgBox count […]

VBA体系结构提示 – macros包装

我一起攻击Excel的概念certificate,以从数据库中获取数据,并需要打包以便将其分发给我们的客户。 我第一次尝试只是把我所有的代码放到一个代码模块中,但是在Excel中,我可以看到macros列表中的所有模块,当我真的只想要列表中的主模块时。 我猜我需要将不能直接运行的子例程移到类模块中,以便隐藏它们。 对于如何打包macros代码,是否还有其他提示,以便给客户提供更简单,更安全的方法?

Excel数据透视表条件格式

我在Excel工作表中有一个数据透视表,其中包含对我的数据库进行查询的结果。 我想根据其他数据集自动格式化信息。 这些信息包含每个员工4个星期(1个月)的价值logging,按员工ID号sorting。 我想编写一个模块,以便使用不同的颜色突出显示其他所有logging(员工数据集)。 这甚至有可能吗? 谢谢您的帮助!

工作表和模块之间的variables不合作

我的Module 1macros没有看到工作表代码中指定的variables的值。 任何想法,为什么? 一切都是公开的。 在我的工作表中有这样的: Public oldVal As Variant Public Sub Worksheet_SelectionChange(ByVal Target As Range) oldVal = Target.Value End Sub 在Module1中,我有一个macros连接到一个button,应该(为了testing目的)只是打印oldVal,但它不工作。 消息框是空的。 Public Sub button_Click1() MsgBox oldVal End Sub 任何想法为什么它没有从工作表中获取variables“OldVal”的值? 谢谢。

Excel 2010 VBAmacros来更改另一个文件中模块的内容

我开发了一个macros来批量更新文件位置中的文件。 我使用下面的代码,这是完美的作品,但是脚本的编辑部分需要在每个文件中的VBA模块的变化,使呼叫编辑macros的变化工作。 如何在执行批量文件更新时大量更新模块内容。 Sub Auto_open_change() Dim WrkBook As Workbook Dim StrFileName As String Dim FileLocnStr As String Dim LAARNmeWrkbk As String PERNmeWrkbk = ThisWorkbook.Name FileLocnStr = "C:\Users\gornalla\Desktop\PER Update" 'ThisWorkbook.Path Dim StrFile As String StrFile = Dir(FileLocnStr & "\*.xlsm") Do While Len(StrFile) > 0 DoStuff (FileLocnStr & "\" & StrFile) StrFile = Dir Loop End Sub […]

如何使用ActiveState Perl在Windows上安装Spreadsheet :: WriteExcel?

我已经安装了Perl 5.6.1版本。 但是它不支持Date :: Calc 。 所以我安装了5.10.0。 现在我正在编写一个程序,使用Perl在Excel中写入数据。 为此,我必须使用Spreadsheet :: WriteExcel,但是在安装ActiveState Perl时未安装Spreadsheet :: WriteExcel 。 那么现在我必须安装另一个版本的Perl或Spreadsheet :: WriteExcel吗? 如果Spreadsheet :: WriteExcel足够了,我到底要做什么?