Tag: excel 2003

使用login页面将数据导入Excel 2003

我正在构build一个项目,并且我明白Excel 2003支持通过“数据 – >导入外部数据 – >新buildWeb查询”从外部网页导入数据。 这可以通过这里列出的几个步骤完成: http : //www.internet4classrooms.com/excel_import.htm 但是,我从中导入数据的站点是内部网站(Intranet),每次访问时都需要login。 该网站不记得密码,每次我点击“导入”button,它不会做任何事情,由于login。 如何在Excel 2003中从外部网站导入数据时提示input用户名和密码并login到网站?

VBA – UDF处理数组的方式不同

这个代码是我正在工作的一小部分。 我已经把问题缩小到了下面的内容。 我有这个UDF SampleFunction,我需要传递一个数组{3; 4}作为唯一的参数。 Function SampleFunction(InputVar As Variant) As Integer SampleFunction = InputVar(LBound(InputVar)) End Function 我以两种不同的方式调用这个UDF。 首先,通过VBA 情况1: Sub testSF() MsgBox SampleFunction(Array(3, 4)) End Sub 其次,通过我的Excel工作表 案例2: ={SampleFunction(ROW(3:4))} – >即作为数组函数。 问题: UDF适用于案例1,即通过VBA进行的调用,当我通过excel工作表调用时,它给出了案例2的#VALUE错误。 我在Lbound(InputVar)情况下使用了F8的functionLbound(InputVar)计算结果为1(与从案例1中的sub调用的不同,它的计算结果为0),而InputVar(Lbound(InputVar))显示“超出范围“错误的情况2。 我只想知道如何从工作表中调用SampleFunction函数 ,即Case 2,以便它具有与上面的Case 1相同的行为。 作为奖励,如果有人可以解释为什么在上述情况下, Lbound(InputVar)评估方式不同,那将会很不错。 其他一些细节: 我正在构build一个UDF来执行一些正则expression式操作。 上面的InputVar参数将是一个数组{x; y; z; …},指定xth,yth,zth …的出现次数。 InputVar的数据types保持为Variant,因为我希望能够将数字(作为一个长度数组),数组或范围(取入并转换为数组)传递给该函数。 提前致谢!!

使用excel vba将单元格的公式转换为文本

我在Excel2003中编写一个macros来查找工作簿中所有带有公式的单元格,并在不同的工作表中输出其地址和公式。 我知道我可以显示使用单个单元格的公式 Public Function ShowFormula(cell As Range) As String ShowFormula = cell.Formula End Function 这工作得很好,但因为我不想手工find所有的细胞,所以我写了下面这个macros来为我find它们 Sub Macro2() Dim i As Integer Dim targetCells As Range Dim cell As Range Dim referenceRange As Range Dim thisSheet As Worksheet Set referenceRange = ActiveSheet.Range("CA1") With referenceRange For Each thisSheet In ThisWorkbook.Sheets If thisSheet.Index >= referenceRange.Parent.Index Then Set targetCells […]

计数不同版本的Excel中的单元格时不正确的值

我看到一些SO用户在尝试使用Cells.Count一些变体时遇到了问题; VBA代码在某些情况下会引发溢出错误。 作为参考,请参阅此答案的评论: 我认为这将工作,但我得到一个“溢出”的错误,它指向我的代码“如Master.Cells.SpecialCells(xlCellTypeVisible).Count> 0然后”—它似乎是不是过滤的东西特别 – user1556069 和这个答案 : 这是onyl工作(和Cells.Count不工作),因为后者使用了一个整数,16位,最大值65,536,整个电子表格返回一个numbr更大? – fast_code 我假设在后台的某个地方,VBA试图将单元数强制为一个小整数(16位)或长整数(32位)。 一个Excel 2007工作表的单元格计数将溢出这两个数据types。 不幸的是我现在无法将其隔离,因为我没有Excel 2007的方便副本,实际上不能重现您的错误。 – mwolfe02 试图理解这一点,我试图重现自己,并尝试将Cells.Count分配为整数时溢出。 这对Integer数据types的值太大是有意义的。 在Excel 2003和2010中使用下面的代码,当试图分配一个Long或Variant时,我得到了一个数字结果。 Option Explicit Sub testInteger() Dim i As Integer i = Cells.Count 'Overflow Debug.Print i 'Doesn't get this far… End Sub Sub testLong() Dim l As Long l = Cells.Count Debug.Print l 'Prints […]

ROW()函数在SUM()和SUMPRODUCT()

问题定义: 在单元格A1input任何数字。 现在在第一行的任何地方尝试下面的公式。 =SUM(INDIRECT("A"&ROW())) 和 =SUMPRODUCT(INDIRECT("A"&ROW())) 第一个公式评估,第二个公式给出一个#VALUE错误。 这是由SUMPRODUCT() ROW()函数的行为不同造成的。 在第一个公式中, ROW()返回1 。 在第二个公式中,即使公式尚未作为CSE公式input,也会返回{1} (一个长度的数组)。 为什么会发生? 背景 我需要评估一个types的公式 =SUMPRODUCT(INDIRECT(*range formed by concatenation and using ROW()*)>1) 这正在解决一个错误。 作为解决这个问题的一个解决方法,我现在计算ROW()在另一个单元格中(显然是在同一行),并在我的INDIRECT()内连接起来。 或者,我也尝试封装在一个sum函数内,像SUM(ROW()) ,也可以。 如果有人能够解释(或者指出一个可以解释的资源),为什么ROW()返回SUMPRODUCT()一个数组而没有被CSEinput,我肯定会很感激。

将variables数组转换为范围 – VBA excel错误1004

我使用Excel的VBA为了保存数据到一个数组: Dim allPosts As Variant allPosts = Range("A2:J5000") 之后,我正在更改allPosts数组中的数据,然后我想通过以下方法将其粘贴回来: Range("A2:J5000").Value = allPosts 我收到错误: 运行时错误1004应用程序定义的或对象定义的 和复制停止在一个特定的单元格,当我改变在这个单元格的string是更短的问题得到解决。 谢谢

Excel:VLOOKUP返回true或false?

在Excel中,我们有VLOOKUP函数,该VLOOKUP在表中的列中查找值,如果发现某些内容,则返回该表中给定列的值。 如果没有,则会产生一个错误。 有没有一个函数,只是返回true或false,取决于如果在列中find值或不是?

Excel:检查工作簿中的工作表依赖关系?

我正在重构一个庞大的工作簿,这个工作簿有很多遗留部分,冗余计算,交叉依赖等等。 基本上,我试图删除不需要的工作表,并在工作簿中实施一些适当的信息stream。 有没有一种很好的方法来提取表单之间的依赖关系(使用VBA)? 感谢Martin

Excel:错误中断不能在用户定义的函数中使用

看起来,当从单元格公式(即“用户定义函数”或UDF)调用VBA代码时,通常的VBA Break On Error不起作用。 我唯一可以find这种行为的地方是一篇名为“为Excel 2007和Excel Services开发用户定义的函数”的文章中的几行: error handling返回#VALUE错误。 由UDF代码抛出的所有exception都以#VALUE错误的forms返回到Excel工作表中。 即使您将Error Trapping设置为“Break on All Errors”并单步执行代码**,您也将永远无法看到VBA运行时错误对话框–Excel只是静静地放弃执行,而不会告诉您哪里出错了。 当然,这使得debugging比需要更困难。 有一些潜在的解决方法涉及On Error但是我宁愿不要混淆我的代码,只是为了找出引发错误的位置。 是否有一些Excel / VBA选项,我忽略了这将使Break On Error正常工作? 我正在使用Excel 2003。 **从单元调用时进入debugging器的唯一方法是设置断点或使用Stop语句

在VBA中获取下拉值并获取下拉列表的名称…无处可找?

我通过将combobox从用户窗体工具栏拖到我的工作表上创build了一个下拉菜单。 我从书中的一些单元格中分配了一些值。 现在我想要一些VBA代码以string的forms访问选定的下拉项目的值。 我的下拉列表仅包含文本。 另外我怎样才能find这个新创build的下拉列表的名称(这是在属性!)?