Tag: vba

在程序中添加和安装Excel插件时保存在哪里?

我试图自动添加和安装加载项的位于共享networking驱动器上的Excel加载项。 我从网上阅读( 在这里和这里 )知道我需要使共享networking驱动器上的副本只读。 感谢第一个链接,我现在知道如何使用这种将文件保留在共享networking驱动器上的方法,对我的加载项进行修改,修复和添加。 现在有了这个过程的一个概念,我开始研究如何在共享networking驱动器上自动添加和安装加载项。 我遇到这个post ,指出我正确的方向使用Excel.AddIn对象。 所以,我花了一些时间看着AddIn Object属性( Installed Property和AddIn Object本身)上的msdn文档,在这里我发现了这一点的代码,在一行中添加和安装加载项 AddIns.Add("generic.xll").Installed = True 我的问题(和关注) : 在下面的说明中 第五点让我有点担心,因为如果使用上面的代码片段来添加和安装插件会将其复制到本地/用户的文件夹(我不知道通过我在网上挖掘找不到,将它保存在共享networking文件夹中,或者如果它将提示用户,就像他们手动浏览以添加加载项一样。 如果提示他们有什么办法可以select(总是点击“否”),或者有没有办法select“否”,而根本不显示提示? 我怎样才能使用上面的代码,并确保它是添加和安装该共享networking驱动器上的加载项文件? 任何人都可以为我介绍一下这种情况吗?

打开CSV并复制

朋友,我试图每天打开一个CSV文件(每天从另一个程序生成),并将CSV表格中的数据复制到当前工作簿中的某个工作表中。 我已经在这段代码上工作了一段时间,我认为这是非常接近正确的,但我一直在我的复制/粘贴线上运行时错误438。 任何帮助? 谢谢! 这是我的代码: Sub GetCSV() Dim thatWB As Workbook, thisWB As Workbook Dim thisWS As Worksheet, thatWS As Worksheet Dim zOpenFileName As String Dim inputData As String 'get name of sheet to open inputData = InputBox("Enter name of file") 'open CSV file zOpenFileName = Application.GetOpenFilename 'error handling If zOpenFileName = "" Then Exit […]

这是VBA的IsNumeric和CDbl()函数中的一个错误吗?

考虑下面的VBAfunction: Function castAndAdd(inputValue As Variant) As Variant If IsNumeric(inputValue) Then castAndAdd = CDbl(inputValue) + 4 Else castAndAdd = inputValue End If End Function 从立即窗口调用它给出这个输出: ?castAndAdd("5,7") 61 ?castAndAdd("5, 7") 5, 7 通过“5,7”调用,我发现IsNumeric("5,7")返回true 。 我在想,也许它会给出这个结果,因为在欧洲逗号被用作小数分隔符; 这个结果很奇怪,因为我在美国,所以我的区域设置应该确定Excel只能识别一个小数点分隔符,对不对? 即使我们搁置欧美问题,更大的问题是CDbl(“5,7”)返回57,所以CDbl("5,7") + 4返回61,而不是我所预期的9.7逗号是小数点分隔符。 这是一个错误,或者我只是不理解如何使用CDbl() ?

在Windows上的Excel VBA中,如何获得string化的JSON表示而不是“”用于parsing的JSONvariables?

在这里回答我自己的问题。 我已经在Excel VBA中使用JSON做了一些工作,并且发布了大量的调查结果,我将以问答格式进行发布。https: //stackoverflow.com/help/self-answer http://blog.stackoverflow.com/2011 / 07 / ITS-OK-到问一答,你自己的问题/ 所以在stackoverflow的其他地方,你可以看到关于在VBA中parsingJSON的问题,但他们似乎错过了一两招。 首先,我使用自定义的JSONparsing库进行了重新设置,而改用ScriptControl的Eval方法作为我所有JSON代码的基础。 而且我们也expression了本地微软解决scheme的偏好。 这里是一个先前的问题在Windows的Excel VBA中,如何缓解由IDE的大小写行为破坏的parsingJSON的点语法遍历问题? 在这个问题上build立。 它显示了如何使用VBA.CallByName比使用点语法来遍历parsing的JSON对象更健壮。 另外一个先前的问题在Windows上的Excel VBA中,如何通过parsing的JSON数组循环? 展示了它如何被用来访问数组元素。 但CallByName返回一个奇怪的variablestypes,它出现在监视窗口中作为Object / JScriptTypeInfo,并且如果一个types的Debug.Print在直接窗口中(或hover在variables上)得到无形的“[object Object]”。 我们如何改进这个并获得JSONstring表示? 这里是你在Debug.Print(?)之后的立即窗口中看到的一个屏幕截图,如果你将鼠标hover在一个variables上。 这是系列5的问题3.这里是全系列 Q1 在Windows上的Excel VBA中,如何缓解由IDE的大小写行为破坏的已parsingJSON的点语法遍历问题? Q2 在Windows上的Excel VBA中,如何通过parsing的JSON数组循环? Q3 在Windows的Excel VBA中,如何获得string化的JSON表示而不是“[object object]”来parsingJSONvariables? Q4 在Windows Excel VBA中,如何获取JSON密钥以预先取得“运行时错误438”:对象不支持此属性或方法“? Q5 在Windows上的Excel VBA中,对于parsing的JSONvariables,这个JScriptTypeInfo究竟是什么?

删除整个重复行的条件和

我有重复的数据(列“C”),我想删除列中有数字的行“D”。 但只适用于奇数date的副本,如图所示 这是即时通讯使用的代码,但我不知道如何删除“D”中的数据行,是重复的 Sub del_doops() Dim RowNdx As Long Dim RowNdx2 As Long For RowNdx = Range("A1:f1").End(xlDown).Row To 2 Step -1 For RowNdx2 = RowNdx – 1 To 1 Step -1 'Begin at one above RowNdx If Cells(RowNdx, "b").Value = Cells(RowNdx2, "b").Value And _ Cells(RowNdx, "C").Value = Cells(RowNdx2, "C").Value And _ Cells(RowNdx, "E").Value = Cells(RowNdx2, […]

如何将应用程序计算设置为在Excel VBA中由用户定义?

我有一个相当大的工作簿,有些用户更喜欢有自动计算,而另一些喜欢closures它。 与工作表交互的一些macros指向工作簿。 为了加快我的VBA代码,我设置了 Application.Calculation = xlManual 在每个工作簿的开始。 我的问题是,我如何恢复到macros观结束的状态呢? 现在我正在使用 Application.Calculation = xlAutomatic 但是会覆盖用户的select。 每次macros运行时,都必须将其改回到手动状态。 (或者相反,如果离开它手动。)

Excel不能启用引用/缺less的function

我有一个工作的Excel工作簿,有VBA代码和macros来帮助数据input。 我使用日历来捕获date并从单元中读取数据。 该应用程序在我的机器上运行100%(应用程序在2007开发,但在办公室兼容性保存为.XLS – 97/2000 )。 当我把文件给其他人时,日历控件和TRIM()函数不起作用。 在我的机器上,我可以到达参考部分,但在办公室的所有其他机器上, referencesfunction是灰色的。 任何想法为什么像日历这样的普通对象和像trim()这样的常用函数在某些机器上不起作用

Excelmacros可以根据单元格内的段落内的单个单词将整行从一张表复制到另一张表

伙计们,我正在寻找一个简单的Excelmacros,可以从一张表格复制到另一个Excel表格内的基于单元格中的特定单词。 我有一个名为“数据”的工作表和一个名为“final”的工作表。 这里是数据的一个实例 ABCD john mary 555.555.4939 initial reply to phone conversation Jim jack 555.555.5555 floor estimate for bathroom jerry kim 555.555.5553 initial response to phone call 如果D列中的数据包含段落中某个地方的单词“reply”或单词“response”,我希望将表单“data”中的整行复制到表单“final”中。 任何提示将是非常有义务的。 谢谢,J

邮政编码距离计算器

我有一个电子表格的地址,我需要计算所有的邮政编码和我的邮政编码之间的距离。 我对所使用的方法相当灵活,但我希望某种Web服务或mathalgorithm。 美国地址只。 基本上我需要喂2个邮政编码,并走出他们之间的距离。 我愿意使用Excel公式或VBA,如果需要,我甚至可以用C#.net编写代码。 你将如何去计算这些距离?

在Excel VBA中过滤2D数组

使用Excel和VBA,我想了解如何最好地过滤数组中的数据(采用与数据透视表相同的方式),严格使用VBA。 我正在创build一个用户窗体,它将根据当前存在的数据做出一些数据决定。 我可以想象如何做到这一点,但不熟悉VBA编程。 这是一个例子 ABC bob 12 Small sam 16 Large sally 1346 Large sam 13 Small sally 65 Medium bob 1 Medium 要获取数组中的数据,我可以使用 Dim my_array As Variant my_array = Range("A1").CurrentRegion 现在,我熟悉循环2D数组,但我想知道: 什么是最有效的方法来过滤二维数组数据 (不循环数组一次又一次)? 例如,我怎么会得到这样的数据: data_for_sally As Variant 'rows with sally as name in ColA data_for_sally_less_than_ten As Variant ' all rows with sally's name in […]