标签: excel-2003

Microsoft Excel宏来运行Java程序

我学会了在Jxl和POI API的帮助下使用Java程序读写Excel文件.是否可以在宏的帮助下运行Java程序?

java excel jxl excel-2003 excel-formula

9
推荐指数
1
解决办法
4万
查看次数

Excel VBA通​​过鼠标获取用户选择范围的范围

这不是usedrange问题.
例如,在Excel中,用户使用鼠标选择范围(可能为空),例如B4:C12

并且假设在此之后没有取消选择范围用户按下宏,宏应该告诉B4:C12.

有人能举例吗?

宏应该是以下几点:

Sub showrng()
    MsgBox SelectedRange.Address(ReferenceStyle:=xlA1)
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-2007 excel-2003 excel-vba

8
推荐指数
1
解决办法
8万
查看次数

获取VBA中的下拉值并获取下拉列表的名称......无处可寻?

我通过从UserForm工具栏将组合框拖到我的工作表上创建了一个下拉列表.我从书中的一些单元格中为它指定了一些值.现在我想要一些VBA代码以字符串的形式访问所选下拉项的值.

我的下拉列表只包含文字.

另外,我如何找到这个新创建的下拉列表的名称(它在属性中没有任何地方!)?

excel vba excel-2003 excel-vba

8
推荐指数
2
解决办法
6万
查看次数

Excel工作簿打开事件宏并不总是运行

我有一个Workbook_Open事件宏(并且它在ThisWorkbook中)并不总是运行.

  • 如果Excel已关闭,我从Windows资源管理器中双击.xls文件,它会运行.
  • 如果我从开始/程序启动Excel(没有.xls文件),然后打开该文件,它会运行.
  • 如果我已经在Excel中打开文件,但随后关闭文件(保持Excel打开)并重新打开它,则宏不会运行.

我已将安全性设置为中等,并且只要它打开就会启用宏.

每当我打开它时,我需要做什么才能让宏运行,而不仅仅是第一次进行此Excel会话?

(顺便说一句,这是Excel 2003)

excel events vba excel-2003

8
推荐指数
1
解决办法
3万
查看次数

更改Excel"外部数据"连接字符串

我们目前在Excel 2003中使用数据透视表来执行报告.这些数据透视表使用内置的"导入外部数据"Excel功能从SQL(精确的SQL Server 2008)提供报表.

这些报告目前指向我们的英国数据库,但我们现在想要制作一份指向我们新的美国数据库(与英国数据库具有相同模式)的每份报告的副本.

我不是苦心经历近100个电子表格,而是希望有一些COM自动化可用于更改每个电子表格中的连接字符串.

有没有人知道从COM更改外部数据源连接字符串的方法?

我正在使用.Net(特别是C#),但无论语言或方法如何,我都会感激任何帮助(它不一定是COM).

.net c# com excel-2003

8
推荐指数
1
解决办法
8087
查看次数

Excel 2003 VBA - kernel32函数 - 和其他库

我已经在VBA for Excel 2003中编程了好几年了,直到最近我才被介绍到:

Declare Sub AAAA Lib "kernel32" Alias "AAAA"
Run Code Online (Sandbox Code Playgroud)

通过stackoverflow中答案.

我一直无法找到的是(没有googlefu可以帮助我):

  • " kernel32 "中可用的所有功能是什么

  • 什么是其他可用(免费)LIBS

  • 我可以自己做吗?

我只需要一些指针,ideias和/或教程链接,指出我正确的方向.

先谢谢大家

excel vba windows-xp excel-2003 excel-vba

8
推荐指数
1
解决办法
1万
查看次数

ROW()函数在SUM()和SUMPRODUCT()中的行为不同

问题定义:

在单元格中输入任意数量A1.现在在第一行的任何地方尝试以下公式.

=SUM(INDIRECT("A"&ROW()))
Run Code Online (Sandbox Code Playgroud)

=SUMPRODUCT(INDIRECT("A"&ROW()))
Run Code Online (Sandbox Code Playgroud)

第一个公式计算,第二个公式给出#VALUE错误.这是由ROW()函数内部表现不同引起的SUMPRODUCT().

在第一个公式中,ROW()返回1.在第二个公式中,行返回{1}(一个长度的数组),即使公式尚未作为CSE公式输入.

为什么会这样?

背景

我需要评估一种类型的公式

=SUMPRODUCT(INDIRECT(*range formed by concatenation and using ROW()*)>1)
Run Code Online (Sandbox Code Playgroud)

这样可以解决错误.作为这个问题的解决方法,我现在计算ROW()在另一个单元格中(显然在同一行中)并在我的内部连接INDIRECT().或者,我也尝试将它封装在sum函数中,就像SUM(ROW())它一样.

如果有人可以解释(或指向一个可以解释的资源),为什么ROW()SUMPRODUCT()没有输入CSE的情况下返回一个数组,我当然会感激.

excel excel-2007 excel-2003 excel-formula

8
推荐指数
1
解决办法
1万
查看次数

VBA处理空数组错误

我正在编写一个脚本,它将循环遍历我的电子表格,并查找是否有任何重复的所选单元格.如果有重复,那么该函数将返回一个行是重复的数组,并创建一个注释告诉我哪些行是重复的.我已经能够处理错误0但是现在当我使用UBound函数检查数组中是否存在元素时,我得到错误9.有没有人知道如何验证整数数组,如果它是空的或不是因为我的代码似乎没有完成这项工作.以下是我的代码

Function IsArrayEmpty(anArray As Variant) As Boolean
    Dim i As Integer

    On Error Resume Next
        i = UBound(anArray, 1)
    Select Case (Err.Number)
        Case 0
            IsArrayEmpty = True
        Case 9
            IsArrayEmpty = True
        Case Else
            IsArrayEmpty = False
    End Select
End Function
Run Code Online (Sandbox Code Playgroud)

error-handling excel vba excel-2003

7
推荐指数
2
解决办法
3万
查看次数

如何使用VBA检查文本文件的时间戳

我正在尝试在Excel 2003 VBA(Windows XP)中编写代码,以确定外部TXT文件是否具有不同的时间戳,因此如果更改,我可以"导入"它.

VBA中有什么功能可以救我吗?

excel vba timestamp excel-2003 excel-vba

7
推荐指数
1
解决办法
1万
查看次数

运行宏的宏,打开文件并将其另存为值 - 运行时错误1004

我一直收到这个1004运行时错误.我已经缩减了我的编程,所以它不是那么Programception.我认为这可能与使用Excel 2010保存.xls文件有关.不确定.

  1. 当Auto_Root.xls打开时,它运行Sub auto_open(),打开Panel.xls
  2. Panel打开并运行Sub Update(),它按顺序打开不同目录中的7个文件,所有目录都称为Auto_Update.xls
  3. Auto_Update.xsl打开并运行Sub Flat,每个Sub Flat按顺序打开多个文件,并将自己的平面副本保存在另一个目录中.

我已经打开了7个Auto_Update.xls文件中的每一个并且已经独立运行它们并且它们运行时没有错误.当我从Auto_Root运行它们时,我得到一个运行时错误1004.并且其中一个文件突出显示CurrentWB.Save.我甚至将CurrentWB.Save替换为CurrentWB.SaveAs Filename:= TargetFile,FileFormat:= xlNormal并收到相同的运行时错误.

附上的是我的代码.

AutoRoot.xls!自动更新

Sub auto_open()
Application.CutCopyMode = False
Dim PanelFilePath As String
Dim PanelFileName As String
Dim PanelLocation As String
Dim PanelWB As Workbook
    PanelFilePath = "D:\umc\UMC Production Files\Automation Files\"
    PanelFileName = "Panel.xls"
    PanelLocation = PanelFilePath & Dir$(PanelFilePath & PanelFileName)
        Set PanelWB = Workbooks.Open(Filename:=PanelLocation, UpdateLinks:=3)
            PanelWB.RunAutoMacros Which:=xlAutoOpen
            Application.Run "Panel.xls!Update"
            PanelWB.Close
    Call Shell("D:\umc\UMC Production Files\Automation Files\Auto.bat", vbNormalFocus)
Application.Quit
End Sub
Run Code Online (Sandbox Code Playgroud)

Panel.xls!更新

 Sub Update()
Dim RowNumber As Long
Dim AutoUpdateTargetFile …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-2003 excel-vba excel-2013

7
推荐指数
1
解决办法
1847
查看次数