使用VBA编程Excel时,如何将select设置为Nothing?

在使用range.copy和range.paste之后创buildgraphics时,它会保留选定的粘贴范围,然后在稍后几行创buildgraphics时,会将该select作为图的第一个系列。 我可以删除该系列,但有没有更好的方法来做到这一点? 我试过了 Set selection = nothing 但它不会让我select。 我也尝试过selection.clear,但是这只是清除了最后选中的单元格,并且还为剧情添加了一个额外的系列。

添加“你确定吗?”我的excelbutton,我怎么能?

我的表单上有一个button,可清除整个8工作表工作簿。 我想偶尔清除一下,但是我不愿意这样做。 我尝试过使用Googlesearch,但是我发现每一个结果都假设我对VBA的掌握比我更强。 我怎么能这样做,当button被点击一个对话框popup“这将消除一切!你确定吗?[继续] [取消]”? 谢谢。

如何插入双引号或单引号

我有很长的名单,我需要引用(可以是双引号或单引号),我有大约8000个。 我有他们在Excel中没有任何引号,我可以复制所有的名称和粘贴他们没有问题,但仍然没有引号。 我已经看了,并寻找一个Excel公式来添加引号到每一行的名字,但我没有运气。 我也尝试了一些聪明的发现和replace技术,但没有工作。 我正在寻找的格式是这样的: “艾伦”或“艾伦” 任何这些将工作。 我需要这个,所以我可以将信息存储到数据库中。 任何帮助是极大的赞赏。 谢谢 PS: 我发现在线的其他人需要做同样的事情,我需要做的,这个解决scheme已经为他们工作,但我不知道它是怎么做的: 你可以通过使用范围variables(例如myCell)来修复它,然后使用它来迭代范围对象的“select”集合,就像这样 Sub AddQuote() Dim myCell As Range For Each myCell In Selection If myCell.Value <> "" Then myCell.Value = Chr(34) & myCell.Value End If Next myCell End Sub 另一个解决scheme也为别人工作是: Sub OneUglyExport() Dim FileToSave, c As Range, OneBigOleString As String FileToSave = Application.GetSaveAsFilename Open […]

工作表函数中单元格,列和行的自引用

在Excel中的工作表函数中,如何自引用您所在的单元格,列或行? 请注意,这对条件格式非常有用。

如何处理来自embedded式Excel.OleObjects或Excel.Shapes的事件

我正在处理旧的VBA程序的C#和VB.NET端口。 它有很多MSForms/OleObjectsembedded在它像CommandButton甚至图像。 我的第一个想法是将所有的button声明为Microsoft.Vbe.Interop.Forms.CommandButton但是导致COMexception, System._COM type不能转换为…Forms.CommandButton 。 如果我尝试一个更通用的解决scheme版本,我没有find任何项目,如果我尝试通过所有的VBComponet s我注意到,他们都是workbook中的workbook ,但没有控制: foreach (VBComponent xxx in Globals.ThisWorkbook.VBProject.VBComponents) { Interaction.MsgBox(xxx.Name); Interaction.MsgBox(xxx.ToString); } 因此,所有这些控件都不在.VBComponets ,但是我可以在这个工作簿中find它们作为OLEobjects thisworkbook.worksheets(n).OLEobjects (这与我是thisworkbook.worksheets(n).OLEobjects ,但我可能并不了解系统开始)。 如何处理来自这样的对象的点击操作? 我假设我需要使用Excel.OLEObjectEvents_Event接口,但我似乎无法弄清楚如何。 如果我尝试使用delegates进行自定义事件,我似乎无法将它们分配给OleObjects 。 如果我使用ActionClickEventHandler.CreateDelegate我可以得到各种各样的错误,使我认为这是一个死胡同。 来自MS的官方文档似乎并没有什么帮助,尽pipe它向我介绍了我正在研究的Verb的概念 。 到目前为止,只有“应用程序启动失败”才产生COM错误。 即使只是试图使用两个标准事件之一, .GotFocus ,我总是拉一个0x80040200错误。 例: Excel.OLEObject ButtonCatcher = Globals.ThisWorkbook.Worksheets(1).OLEObjects("CommandButton1"); ButtonCatcher.GotFocus += CommandButton1_Click; 抛出一个Exception from HRESULT: 0x80040200的COMException Exception from HRESULT: 0x80040200在第二行。 该button被启用,这是我从办公室dev站点查找代码后检查。 在包含控件的工作表的代码中尝试更通用的方法 : object CommandButtonStart […]

Excel VBA SVN客户端/集成

任何人都可以推荐一个SVN客户端在Excel中使用VBA(仅限代码模块)。 理想情况下,我还希望SVN在提交更改之前进行差异化时忽略大小写,以避免存储库中存在过多的stream失(VBA具有更改整个项目中variables大小的烦人习惯)。

在Cocoa中创buildExcel(.xlsx)文件

我正在编写一个Cocoa应用程序,我试图导出为Excel XML格式(ISO / IEC 29500-1),它基本上是一个带有一堆XML文件的压缩文件,以.xlsx扩展名命名。 我已经尝试生成AppleScript并使用NSAppleScript创buildExcel文件,该文件可以正常工作,但速度很慢,用户必须在其计算机上安装Excel。 我能够创build一个简单的.xlsx Excel文件,方法是将XML写入Objective C中的文件,然后将其压缩并重命名为.xlsx 。 Excel可以打开文件,但数字试图打开我创build的文件时发生错误。 看来Excel必须实现所有(或大部分)ISO / IEC规范,而Numbers只能打开Excel风格的版本。 如何使用Cocoa和Objective-C创build工作的Excel文件?

将CSV文件加载到MySQL Workbench中

我有很多excel / CSV文件,我需要加载到我的数据库在MySQL工作台(我在Mac OS X)。 我已经search了一个很好的演练或教程,但我还没有看到任何明确解释如何加载CSV到MySQL工作台….任何人都可以帮助吗?

面向对象devise工作手册(对象模型领域,系统顺序图,交互图)

虽然我在面向对象的理论上有一个比较扎实的基础,并且知道如何在一个“演变”devise中构build一个像俄罗斯方块游戏一样简单的东西,而没有大的麻烦,但我想学习如何完全不同首先devise系统的方法,只有他们试图实现它。 我正在寻找能够教会我如何解决问题的东西(例如,一个tic tac toe游戏),并学习如何制作umldevise(对象域模型 – >系统顺序图,最后是通信图)。 我正在寻找一些有理论,实例,练习和解决scheme(如果可能的话)的工作手册。 我知道人们通常会推荐UML和模式,但是我已经在我的OO课程中使用了,发现它很糟糕。

Excel VBA代码模块的源代码控制

我希望能够控制我的Excel电子表格的VBA模块(目前使用Excel 2003 SP3),以便我可以共享和pipe理一堆不同的电子表格所使用的代码 – 因此,我想重新加载它们从电子表格打开时的文件。 我有一个名为Loader.bas的模块,用于完成大部分驴工作(加载和卸载任何其他需要的模块) – 我希望能够尽快从文件加载它随着电子表格打开。 我已将以下代码附加到Workbook_Open事件(在ThisWorkbook类中)。 Private Sub Workbook_Open() Call RemoveLoader Call LoadLoader End Sub RemoveLoader(也在ThisWorkbook类中)包含以下代码: Private Sub RemoveLoader() Dim y As Integer Dim OldModules, NumModules As Integer Dim CompName As String With ThisWorkbook.VBProject NumModules = ThisWorkbook.VBProject.VBComponents.Count y = 1 While y <= NumModules If .VBComponents.Item(y).Type = 1 Then CompName = .VBComponents.Item(y).Name […]