Tag: excel 2003

Application.Wait和Excel VBA运行时错误“13”types不匹配

我不明白为什么我有这一行Application.Wait在错误(黄色突出显示)? Sub Wait_Random() Dim Low As Double Dim High As Double Low = 90 '<<< CHANGE AS DESIRED High = 126 '<<< CHANGE AS DESIRED r = Int((High – Low + 1) * Rnd() + Low) Application.Wait Now + TimeValue("00:00:" & CStr(r)) End Sub 我发现问题是这段代码试图“添加一个string的数字”。 但我迷路了! 提前致谢 ;)

在Excel中组合这个多项式expression式最简单的方法是什么?

这在编程语言中是微不足道的,但是当我需要做一些快速和肮脏的事情,并且看看我是否得到正确的系数时,我通常会selectExcel。 那么,我得到了什么, c1(i) c2(i) c3(i) 0,321323232 1 0 0,32132122 0 2 0,321214324 1 2 … .. . 多项式expression式是 KT = SUM( AEA0 * c1(i) + J * c2(i) + PD * c3(i) ) i=1,37 一种方法是使用AEA0 , J , PD (btw,这些是常数)的列,然后将它们与系数列相乘。 我不喜欢这个,因为它增加了很多额外的东西,它弄乱了我以后粘贴的拷贝(当我复制粘贴系数到一个文本文件)。 第二种方法是手动形成一个expression式,逐个点击所有单元格, KT = AEA0 cell * A1 + J * B1 + PD * […]

有什么解决办法没有Excel 2003中的XlFileFormat.xlOpenXMLWorkbook支持?

我不断收到Error 24:'Microsoft.Office.Interop.Excel.XlFileFormat' does not contain a definition for 'xlOpenXMLWorkbook' Excel中的数据导出过程中Error 24:'Microsoft.Office.Interop.Excel.XlFileFormat' does not contain a definition for 'xlOpenXMLWorkbook' 。 这是我的代码的相关部分: string path = Path.GetTempFileName(); if (File.Exists(path)) File.Delete(path); workbook.SaveAs(path, Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, Excel.XlSaveConflictResolution.xlLocalSessionChanges, true, Type.Missing, Type.Missing, Type.Missing); workbook.Close(); 我的猜测是因为我使用Excel 2003 ,它不支持Excel.XlFileFormat.xlOpenXMLWorkbook ,所以我只是想知道是否有任何解决这个错误的解决方法? 或者更新Excel真的是强制性的?

IF中的函数太长。 如何简化?

我已经在Excel 2003工作表的单元格中编写了一个长的If函数。 我想补充一点,但是,Excel告诉我,我的function太长了。 有人知道如何简化或减less函数的长度? 在Column K3 ,我有一个缺陷types的下拉列表,然后这个中间函数在列L3中出现一个特定的缺陷描述,这个缺陷描述是根据column K3select的缺陷types。 =IF(ISTEXT(K3)=TRUE,IF(OR(K3="Abnormal Finishing",K3="Bending Mark",K3="Bent",K3="Contamination",K3="Crack",K3="Damage",K3="Dented",K3="Discoloration",K3="Finger Print",K3="Flow Mark",K3="Gap",K3="Insufficient Paint",K3="Scratches",K3="Rusty",K3="Stain Mark",K3="Standoff Mark",K3="Tool Mark",K3="Warpage",K3="Water Mark",K3="White Mark",K3="White Spot"),"Cosmetic",IF(OR(K3="Angle Out",K3="Dimension Out",K3="Fitting Problem"),"Dimension",IF(OR(K3="Assembly Misalignment",K3="Fan Broken",K3="Fan Not Functioning",K3="Assembly Wrong Orientation",K3="Missing Component",K3="Missing Rivet (Assembly)",K3="Part Warping (Assembly)",K3="Rivet Loose (Drop) (Assembly)",K3="Rivet Wrong Location (Assembly)",K3="Rivet Wrong Orientation (Assembly)",K3="Screw Loose (Drop)",K3="Screw Stuck"),"Assembly","ERROR"))),"ERROR")

从Excel 2003中复制时出错:“无法粘贴信息…”

由于65,536行限制,我需要合并2007年以前的工作簿中的几个工作表的值,通过复制并粘贴到没有限制的2007年后工作簿中。 此代码适用于第一个工作表,但第二个工作表: destRow = 65537 Set destRange = destSheet.Cells(destRow, 1) Set srcRange = srcSheet.Range("A1:R65536") srcRange.Copy destRange 导致以下错误: “由于复制区域和粘贴区域的大小不一样,所以无法粘贴信息。” 无论手动执行操作还是使用VBA,我都会遇到此错误。

更改.Interior.ColorIndex不起作用

在Excel 2003中,当我将Series.Interior.ColorIndex更改为我需要的值时,它不起作用。 它只有当我第一次手动改变颜色,然后运行macros时才有效果。 显然这触发了一些更新机制。 有没有人有这个解释? 有没有办法以某种方式在图表中触发这一点?即确保颜色更改生效。 另外,当我遍历代码并观看ColorIndex时,即使赋值后也不会改变。 这是Excel中的许多错误之一吗? 代码如下所示: Sub DoStuff() Dim j As Long For j = 1 To ActiveChart.SeriesCollection.Count With ActiveChart.SeriesCollection(j) Select Case ActiveChart.SeriesCollection(j).Name Case "Milk" .Interior.ColorIndex = 4 Case "Cookies" .Interior.ColorIndex = 28 Case "Honey" .Interior.ColorIndex = 26 End Select End With Next j End Sub 编辑:我正在使用条形图。

Excel VBA将XL-2007已启用macros的工作簿复制为不带macros的excel-2003文件

我正在寻找一个vbamacros,将使用我指定为Excel 2003macros的免费文档的名称复制当前的Excel 2007macros的工作簿。 它也应该保持当前的工作簿打开并以Excel 2007格式(如此保存 – 因为不行)。 我不知道如何做复制操作…

excel-2007loggingmacros

1)嗨,我只是想知道为什么Excel 2007loggingmacros不写任何例如,当我做以下事情: 我在表格上插入一个矩形,并改变它的背景颜色。 (另一方面,如果我在Excel 2003中做同样的事情,我会得到一些代码) 2)也有可能使用VB来要求Excel将矩形放在指定的位置,例如我当前的活动单元格是A10:C10 我想我矩形的左上angular在该位置,即A10:C10 非常感谢!

数据透视表数值现在是扭曲的

在Excel 2003中,我有一个意外尝试select不存在的页面字段项目(纽约)的macros。 这将当前选定的页面字段(阿拉巴马州)重命名为我尝试select的值(纽约)。 我现在有3或4个值现在是错误的。 有没有办法刷新这些数据透视表值到正确的值, 而无需从头重新创build数据透视表 ? 谢谢

通过双向条件填充列表

即时兴趣实施的东西,但我不知道如果这是可能的,并希望你的摄入量。 这是我的场景: 我将有两个validation单元格将显示为列表,我将select。 这些是我的条件,我想见面,并从数据库中省略我的名单。 我有一个B13:B23的代理商列表,接下来的两个我有数据列,假设我的数据库看起来像这样 BCDE X | Y | Z agent1 1 | 1 | 0 agent2 0 | 1 | 0 agent3 0 | 1 | 1 agent4 1 | 0 | 0 … 我想从列B中填充代理名称列表,当我从validation单元格1中select:X和validation单元格2:1.它应该只显示 column: agent1 agent4 或列X中的代理与0 … 我读了一些关于数组公式的地方,但我不知道这是否方便,我不幸的是没有任何macros的背景:(但我知道在C ++这样的事情是相当容易的条件语句。 提前致谢,