Tag: excel 2003

将工作表合并成一个

我有几个风格的Excel工作表 组织1 姓名职业 克里斯 – 收缩 简 – 员工 组织2 姓名职业 鲍勃 – 设施 Trey – 软件开发人员 并希望将这些工作表合并到格式为主的工作表中 组织名称职业 1 – 克里斯 – 收缩 1 – 简 – 员工 2 – 鲍勃 – 设施 2 – Trey – 软件开发人员 使用VBA我能够使用所有的数据到一个工作表 NumSheets = Worksheets.Count Worksheets(1).Select Sheets.Add ActiveSheet.Name = "All" For X = 1 To NumSheets Worksheets(X […]

有没有办法来响应在Excel中的条件格式的变化?

我有一个Excel表格,可以链接到实时市场数据。 我使用计时器每秒钟观看dde价格。 然后在满足特定条件时提交订单。 我尝试了一个无限循环DoEvent在中间工作5秒,然后冻结工作簿。 有没有办法来响应dde更新的变化? 更改事件不会检测到它们。 它只是检测用户手动更改。 有人告诉我,如果我有条件格式,有一种方法来获取这个事件。 所以我可以创build一个单元格公式,当我的条件满足时变为true,然后有条件地格式化某些格式化的格式,然后select格式更改事件。 那可能吗? 如果是这样的话。 任何build议,将不胜感激。 澄清:我想select一个事件在VBA将提交订单交易股票。 我现在这样做的方式是用一个计时器,它循环遍历所有行,在触发器列中查找真正的单元格。 一旦find它将closures该行的标志(将真实条件设置为false)并提交订单。 问题是,一秒钟是快速移动股票的永恒。 所以我需要在触发器列中的单元格变为真时在VBA中引发一个事件,以便我可以立即响应,而不是等待定时器类的第二个时间间隔。 据我所知,你不能以小于1秒的时间调用定时器。 如果我可以使用毫秒,我的问题将被解决。 我只是每10毫秒循环一次。 据我所知,我不能在VBA中创build另一个线程。 如果我可以做一个无限循环,并在每次迭代10毫秒左右后进入hibernate状态。 据我所知,我不能直接把dde拉到VBA甚至.net上,因为MSDN说它不再被支持。 我希望这个澄清。 所有的build议表示赞赏。

PivotCaches.add错误5 – 2003到2010macros

我有一个Excel 2003 .xls文件,我试图在Excel 2010中运行。我首先将该文件保存为.xlsm,并将信任目录添加到信任中心中。 我得到一个错误代码(如箭头所示)。 注意:如果我将PivotTableVersion更改为12,它仍然给我同样的错误。 代码如下。 Sub Create_pivot() Wbname = ActiveWorkbook.Name ' Insert columns to make room for pivot table Columns("A:I").Select Selection.Insert Shift:=xlToRight myData = Sheets(ActiveSheet.Name).[J1].CurrentRegion.Address mySheet = ActiveSheet.Name & "!" tableDest = "[" & Wbname & "]" & mySheet & "R1C1" >>>> ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ mySheet & myData).CreatePivotTable TableDestination:=tableDest, TableName _ :="RTP_alerts", DefaultVersion:=xlPivotTableVersion10 […]

使用Excel Interop的C#应用​​程序,2003年2007年之间轻松切换?

我有一个应用程序,只是在电子表格上完成基本的I / O操作。 读入一堆单元格,进行一些sorting,然后将输出转储回另一个电子表格。 在我的机器上效果很好。 我有Office 2003安装。 当它在2007年运行在别人机器上时,可能是由于Interop程序集的不同版本而导致的。 我希望有人知道一种方法来dynamic更改程序集加载哪些/取决于办公室版本(从registry获得办公室版本很容易)。 筛选通过互联网的其余部分,我没有看到任何东西表明可能:(我试图安装2007 PIA,但是当我尝试添加引用,他们没有出现,我不知道在哪里浏览他们(它们不在c:\ windows \ assemblies \中;也许安装不起作用)。我将不得不安装2007安装的计算机,以便每次需要更新时进行构build?

Excel:分配一个macros到一个超链接?

如何将macros指定给超链接?

XLL和vba函数名称冲突导致永久#NAME? 错误

在Excel 2003 SP2中 XLL定义了xll_function如果我叫它,它工作正常。 定义了一个名字相同的VBA函数:它优先于XLL的xll_function。 VBA函数被删除,#NAME? 出现并永远停留。 在另一个excel版本或安全模式下保存工作簿是无济于事的。 即使VBAfunction已经消失,Excel仍然记得看VBA。 任何build议在做什么来解决这个问题?

在Excel中validationIBAN

有没有准备好的Excel表格来validationIBAN? 我将进入IBAN,它将显示有效或无效。 我search了一些Adds In,并find了这个 但我不知道如何打开它。 谁能帮忙?

如何:Excel 2003macros仅汇总可见值?

目前,我有一个非常大的电子表格(40k +行),数据包括“名称”,“date”和“值”列。 格式是统一的。 我希望能够用相同的“名称”和“date”来总结所有的“值”。 例如: Name date value peter 201103 7 pan 201103 9 felix 201104 9 peter 201104 12 peter 201104 17 现在,我想将所有“peter”的值与date“201104”相加。 一种方法是SUMFS,但这不是我所能处理的(仅使用Excel 2003)。 我尝试的另一件事是首先通过inputbox自动筛选过滤date,然后使用SUMIF来汇总值,如果他们有相同的名称。 问题:SUMIF也增加了不可见的单元格。 最好的方法是vba。 有没有人有想法? 这将是巨大的帮助! 感谢您的时间!

获取由Worksheet.Copy复制的最后一个工作表上的句柄

我试图获得由复制操作创build的工作表的句柄。 以下代码用于工作: Dim wsTempl As Worksheet, pageCount as Long Set wsTempl = Sheets("Template") For pageCount = 1 To 5 wsTempl.Copy After:=Sheets(Sheets.Count) Set ws = Sheets(Sheets.Count) ws.Name = "p" & pageCount Next 但是在将非常隐藏的工作表添加到工作簿时停止。 现在我的表格(Sheets.Count)得到了VeryHidden表格,而不是我最后添加的表格。 我当然可以使用 Set ws = Sheets(wsTempl.Name & " (2)") ws.Name = "p" & pageCount 但是这看起来很难看,这真的是唯一的方法吗? 有人能想到另一种方式吗? 复制这个问题: 打开一个新的工作簿,命名第一个工作表“模板”并删除其他工作表 alt-f11 – 插入代码模块并粘贴上面的代码 F5应该告诉你它的工作原理。 插入工作表,使用工作表选项卡将其拖动到集合的末尾 […]

Excel导入SQL数据,但导入后会更改1列的顺序

我从MS Query中创build的查询中导入数据。 可以说,查询编辑器中的列按A,B,C,D,E,F顺序排列。 一旦我保存查询,返回数据到Excel,导入的数据有一个新的列顺序 A,B,C,F,D,E – 注意F列在D处移动。 任何想法如何解决这个问题? 多谢你们。 假设variables被正确定义,并忽略代码正在尝试做什么,如果你想,保留部分不工作 For Each wks In ThisWorkbook.Worksheets Set qt = wks.QueryTables(1) qt.PreserveColumnInfo = True qt.PreserveFormatting = True If wks.Name <> "Master" And wks.Name <> "Parameters" Then wks.Range("A2:A1000").EntireRow.Copy Destination:=Worksheets("Master").Range("A65536").End(xlUp).Offset(1, 0) End If Next wks