Tag: excel external data

性能问题在外部数据源的两个表中运行Excel中的macros

在工作表上,我有两个表,它们是从两个不同的外部来源填充的,一个来自db2和另一个SQL服务器。 一旦表中的数据被刷新,我将触发一个运行VBA代码的macros,这个代码循环遍历两个表中的单元格并应用业务规则。 在本地进行testing,按预期工作,macros在几秒钟内完成。 当我将连接更改为指向networking上的db2和SQL Server数据库时,它会及时刷新数据,但是当我触发macros时, 30分钟即可完成。 只有连接已被更改,我正在使用相同的工作簿进行所有testing。 首先想到的是,它现在正在从networking中提取数据,可能是连通性的,但是它刷新了数据OK,而且它只是运行缓慢的macros,VBA代码不使用连接,只是循环的基础。 我失去了什么是造成这一点,想知道是否有人曾经遇到过这种行为,知道如何解决它?

将新数据附加到Excel中的外部数据表

如果我在Excel中有一个表,通过外部数据连接填充,我怎样才能刷新数据,为新数据插入新行,同时保留旧行? 例如,这是我的表格: 不幸的是,我正在使用的数据库只保留了当前的月份数据 ,所以如果我刷新,我只会得到2011年2月份的数据。 我想要的最终结果是: 是否有我缺less的内置Excel选项(类似于“外部数据属性” – >“为新数据插入整行,清除未使用的单元格”),还是应该走编程路线并将旧数据保存在临时表等?

在Excel表中编辑外部数据

如何开发一个Excel插件来编辑Excel数据表中的外部数据? Excel可以连接到外部数据源,但据我所知可以看到它们是单向的只读数据表。 我想要做的就像TFS插件为Excel。 我相信还有更多这样的人。 对于那些不知道该插件的用户:安装时,TFS Excel插件将作为Excel中的新菜单进行。 通过该菜单,您可以打开与TFS服务器的连接,并将您的(工作项目)logging作为Excel表格导入到Excel中。 您可以添加新行或编辑表中的数据。 一些单元格下拉列表附加到他们,但只有有效的选项显示在列表中,这是不同的每个logging。 您可以编辑表格中的行,并可以将这些logging批量推送回服务器。 我不知道它是否有所作为,但我的数据源上的连接和更新操作将通过Web服务。 我想这将需要一些严重的发展,但我失去了网页之间的外部数据范围(这只是为了阅读)。 有人能指导我进一步阅读这个话题吗?

刷新数据连接不刷新已连接数据透视

我有一个连接到几个不同的外部来源的工作簿。 我有代码,单独刷新每个连接。 他们都没有选中启用后台刷新。 我有连接到每个这些来源的数据透视表。 而刷新连接通常更新这些PT,今天我有一个没有这样做的枢轴。 我是否需要添加代码来单独刷新每个数据透视表? 我想避免,如果它是不相关的,否则我会刷新每个枢轴两次(一旦连接更新,然后再次立即后)。 不要试图给已经很长的刷新过程增加额外的延迟。 思考? 谢谢!

Excel外部数据连接崩溃在其他用户

我有一个tool.xlsx文件,使用外部数据连接到Access数据库(都在networking驱动器上,对用户有适当的访问权限)。 我有一个vbscript(代码如下),刷新该工作簿中的所有连接。 当我运行这个脚本时,一切都像魅力一样,但是当一个同事运行这个脚本时,它不会抛出任何错误,但并不是所有的连接都被刷新。 有任何想法吗? Dim XLApp Dim XLWkb Set XLApp = CreateObject("Excel.Application") xlapp.visible = false xlapp.workbooks.open "\\networkpath\tool.xlsx" xlapp.displayalerts = false set wr = xlapp.workbooks.Open("\\networkpath\tool.xlsx") wr.refreshall xlapp.visible = false wr.Save wr.Close 这是来自tool.xlsx工作簿的连接string: Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=\\networkpath\db.accdb;Mode=Share Deny Write;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database […]

使用Web上的数据,如何login?

我有一个使用“从Web数据”function的macros。 我已经login到网站(在Internet Explorer中),我从中提取数据 – 但是我在Excel中得到的结果只是告诉我,我没有login。 有没有一种特殊的方式来通过Excellogin“数据从networking”? 我知道它是有效的,因为我使用macroslogging器来学习Excel如何获取数据 – 手动这样做,网站要求我在“Excel IE浏览器窗口”中login…但已经过了一个多小时,所以我被注销。 我如何再次login使用它? 这里有适用的数据拉代码(如果有帮助的话)(URLlogin后工作正常): With ActiveSheet.QueryTables.Add(Connection:="URL;" & theURL, Destination:=webInfoWS.Range("$A$2")) .name = cel.Value & " hex" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = […]

如何防止locking源工作簿的Excel数据透视表外部数据连接进行编辑?

我有一个Excel工作簿,其中一个作为本地数据录入工作簿,另一个作为聚合所有已input数据的位置。 本地工作簿也有一个数据透视表,它使用到第二个工作簿的外部数据连接作为其数据源。 本地工作簿有一些VBAmacros应该打开远程工作簿,写入或读取它,保存并closures它。 但是,刷新数据透视表数据的操作将locking源文件进行编辑,并保持locking状态,直到我closures带有数据透视表的工作簿。 这可以防止编辑远程工作簿的任何macros成功工作(因为它强制macros以只读方式打开工作簿)。 有没有一种方法来防止数据透视表locking源文件的时间超过了刷新数据的时间? 没有其他实际的用户访问这些工作簿,并且源工作簿中的数据只有20行和11列值,并且当前存储在本地驱动器上(因此不能连接太慢或不可用) 。

在excel中收听刷新事件

当用户点击“刷新”/“全部刷新”button时,excel似乎只是调用工作簿中每个(或选定的)QueryTable的刷新方法。 然而,听QueryTable的BeforeRefresh和AfterRefresh事件并不真的帮助我在这里,因为我需要在工作簿中的所有 QueryTables(分别在所有选定的QueryTables后)更新后执行一些东西。 有没有办法做到这一点? 也许它可能以某种方式听取鼠标点击该刷新button?

将连接更改为外部数据源

我有一个显示来自外部DB2数据库的数据的Excel 2013文件。 DB2数据库已经移动,我想更改连接信息以指向数据库的新IP。 我如何在Excel中执行此操作? 目前唯一能find的方法是创build一个新的连接,并添加所有的视图,而不是只编辑一个IP地址。

Excelmacros来更改外部数据查询连接 – 例如,从一个数据库指向另一个数据库

我正在寻找一个macros/ vbs更新所有的外部数据查询连接指向不同的服务器或数据库。 这是一个很麻烦的做法,在2007年以前的Excel版本中,有时似乎不可能手动完成。 任何人都有样品? 我看到有不同types的连接“OLEDB”和“ODBC”,所以我想我需要处理不同格式的连接string?