我学会了在Jxl和POI API的帮助下使用Java程序读写Excel文件.是否可以在宏的帮助下运行Java程序?
这不是usedrange问题.
例如,在Excel中,用户使用鼠标选择范围(可能为空),例如B4:C12
并且假设在此之后没有取消选择范围用户按下宏,宏应该告诉B4:C12.
有人能举例吗?
宏应该是以下几点:
Sub showrng()
MsgBox SelectedRange.Address(ReferenceStyle:=xlA1)
End Sub
Run Code Online (Sandbox Code Playgroud) 我通过从UserForm工具栏将组合框拖到我的工作表上创建了一个下拉列表.我从书中的一些单元格中为它指定了一些值.现在我想要一些VBA代码以字符串的形式访问所选下拉项的值.
我的下拉列表只包含文字.
另外,我如何找到这个新创建的下拉列表的名称(它在属性中没有任何地方!)?
我有一个Workbook_Open事件宏(并且它在ThisWorkbook中)并不总是运行.
我已将安全性设置为中等,并且只要它打开就会启用宏.
每当我打开它时,我需要做什么才能让宏运行,而不仅仅是第一次进行此Excel会话?
(顺便说一句,这是Excel 2003)
我们目前在Excel 2003中使用数据透视表来执行报告.这些数据透视表使用内置的"导入外部数据"Excel功能从SQL(精确的SQL Server 2008)提供报表.
这些报告目前指向我们的英国数据库,但我们现在想要制作一份指向我们新的美国数据库(与英国数据库具有相同模式)的每份报告的副本.
我不是苦心经历近100个电子表格,而是希望有一些COM自动化可用于更改每个电子表格中的连接字符串.
有没有人知道从COM更改外部数据源连接字符串的方法?
我正在使用.Net(特别是C#),但无论语言或方法如何,我都会感激任何帮助(它不一定是COM).
我已经在VBA for Excel 2003中编程了好几年了,直到最近我才被介绍到:
Declare Sub AAAA Lib "kernel32" Alias "AAAA"
Run Code Online (Sandbox Code Playgroud)
通过stackoverflow中的答案.
我一直无法找到的是(没有googlefu可以帮助我):
" kernel32 "中可用的所有功能是什么
什么是其他可用(免费)LIBS
我可以自己做吗?
我只需要一些指针,ideias和/或教程链接,指出我正确的方向.
先谢谢大家
问题定义:
在单元格中输入任意数量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的情况下返回一个数组,我当然会感激.
我正在编写一个脚本,它将循环遍历我的电子表格,并查找是否有任何重复的所选单元格.如果有重复,那么该函数将返回一个行是重复的数组,并创建一个注释告诉我哪些行是重复的.我已经能够处理错误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) 我正在尝试在Excel 2003 VBA(Windows XP)中编写代码,以确定外部TXT文件是否具有不同的时间戳,因此如果更改,我可以"导入"它.
VBA中有什么功能可以救我吗?
我一直收到这个1004运行时错误.我已经缩减了我的编程,所以它不是那么Programception.我认为这可能与使用Excel 2010保存.xls文件有关.不确定.
我已经打开了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-2003 ×10
excel ×9
vba ×7
excel-vba ×5
excel-2007 ×2
.net ×1
c# ×1
com ×1
events ×1
excel-2013 ×1
java ×1
jxl ×1
timestamp ×1
windows-xp ×1