我下载了OOXML SDK.我需要创建一个简单的Excel电子表格,其中包含x个工作表,每个工作表包含4列和y行数据.这很简单,但我找不到如何在任何地方创建工作表的示例.
我正在尝试使用XML Spreadsheet在php的帮助下创建动态Excel工作表.但是当我尝试打开动态创建的Excel工作表时,我不断收到"无法加载工作表,工作表设置问题"的错误.当我尝试查看它创建的日志文件时,它会显示以下文本,
XML ERROR in Worksheet Setting
REASON: Bad Value
FILE: C:\Documents and Settings\UserName\Local Settings\Temporary Internet Files\Content.IE5\5XZ039FS\output[3].xls
GROUP: Worksheet
TAG: Table
ATTRIB: ExpandedRowCount
VALUE: 4
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉上述错误是什么意思,我该如何删除它?
我写了一些VBA代码来创建一些用于GUI的形状,但我试图确保形状不会打印.由于我是动态创建这些形状,因此无法手动将每个形状设置为不打印.有没有办法以编程方式进行?
Set roundedRec = ws.Shapes.AddShape(msoShapeRectangle, 10, 10, 10, 10)
roundedRec.Name = shapeName
With roundedRec
.Fill.Visible = msoFalse
.Line.ForeColor.RGB = RGB(0, 204, 0)
.Line.Style = msoLineThinThin
.Width = target.Width + 4
.Left = target.Left - 2
.Height = target.Height + 4
.Top = target.Top - 2
.ZOrder (msoSendToBack)
' need a way to set the shape to NOT print...?
end with
Run Code Online (Sandbox Code Playgroud) 我想从目录中读取某些excel文件,然后使用VBA 在excel-2007中打开它们.
下面是一个示例:
directory:c:\temp
file pattern:is xxxxx0123.xls(xxxxx表示文件名).
我尝试使用Application.FileSearch,但它在Excel 2007中不起作用.有没有人有好的建议?
提前致谢
我有一个范围,包含数值和空白单元格.某些数值将具有*作为后缀.
10* 5 7 9 25* 10
Run Code Online (Sandbox Code Playgroud)
当我做SUM(A1:A8)时,得到5 + 7 + 9 + 10 = 31的结果,即所需的输出.现在,我还要求总和,而不考虑*后缀.我试图通过使用来解决
SUMPRODUCT(SUBSTITUTE(A1:A8,"*",""))
Run Code Online (Sandbox Code Playgroud)
它的工作原理
SUMPRODUCT({"10","5","7","","9","","25","10"})
Run Code Online (Sandbox Code Playgroud)
并且输出0因为所有都是文本值.我用的时候
SUMPRODUCT(value(SUBSTITUTE(A1:A8,"*","")))
Run Code Online (Sandbox Code Playgroud)
它的工作原理
SUMPRODUCT({10,5,7,#VALUE!,9,#VALUE!,25,10})
Run Code Online (Sandbox Code Playgroud)
最后输出#Value!.有人可以帮我解决这个问题吗?谢谢你的时间.
我在网上和这里搜索过但找不到符合条例草案和工作的任何东西.我有一些代码可以工作,但因为它删除行时范围的长度发生变化,它没有捕获所有要删除的行,所以我最终运行了几次,这不是很好......所以我'我正在尝试按此线程推荐的AutoFilter方法.
我有一个包含多个列的电子表格,其中一个是"成本".我需要浏览'cost'列(有时可以是第9列,有时是10,因此下面是'find'位)并删除成本为0的任何行...
下面是我到目前为止编写的代码,任何帮助都会非常非常感激!!!!
- 编辑3:已经进行了一些更改代码...新代码如下.
Sub RemoveRows()
Dim cell As Range
Dim lastRow As Long
Dim lastColumn As Integer
Dim criteraColumn As Integer
Dim criteriaRange As Range
lastRow = Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).row
lastColumn = Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Rows(1).EntireRow.Select
criteriaColumn = Selection.Find(What:="Cost", After:=ActiveCell, LookIn:= _
xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Column
Set criteriaRange = Range("A1", Cells(lastRow, lastColumn))
criteriaRange.AutoFilter Field:=criteriaColumn, Criteria1:="£0.00"
AutoFilter.Range.Delete
ActiveSheet.AutoFilterMode = False
End Sub
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它将过滤器应用于正确的范围和正确的列.然后我收到错误消息:"运行时错误'424':对象需要"适用于该AutoFilter.Range.Delete行.当我按下"结束"或"调试"并查看电子表格时,过滤器已应用于正确的列并检查了正确的选项(£0.00),但没有返回结果(我知道我需要做在将来出现这种情况时会有一些错误处理,但是现在这个过滤器应该返回至少10行.如果我在电子表格中的过滤器设置上手动按"确定"(不更改它们中的任何一个!),我的10个结果会正确显示,所以我不确定为什么当我以编程方式执行此操作时它们没有出现?
如果需要,很高兴提供电子表格示例,这真让我感到困惑!
电子表格可以在这里找到
我想知道如何将Excel VBA上编写的VBA代码分配给某种过程/程序或与dos相关的文件路径,而无需打开excel就可以直接使用。换句话说,我希望有一个桌面图标,我可以搅拌分配给我的VBA代码。
我想使用VBA删除工作表中的所有组合框(表单控件类型不活动X)
我有
For Each s In ActiveSheet.Shapes
s.Delete
Next s
Run Code Online (Sandbox Code Playgroud)
问题是它删除了我的所有形状,我很难找到逻辑只是删除组合框(具有不同的名称)
谢谢你的帮助!
在Microsoft Excel中的键盘快捷键Ctrl+ Alt+ F5刷新所有是我的最爱之一,直到它停止工作.目前,当我输入该组合键时,没有任何事情(据我所见).我不得不长时间没有它,我不记得是否有任何特定的东西在它不再工作之前被改变了.Alt+ F5继续工作以刷新特定的数据透视表,但价值有限.
该版本是Excel 2007.
如何发现阻止Ctrl+ Alt+ F5工作的原因并恢复其默认功能?