如何从Access VBA更新Excel工作簿中的.Application属性?
我正在使用Access VBA将数据导出到Excel,打开文件,并对文件进行格式化(添加公式等)。
代码很慢。我想禁用屏幕更新并将Excel计算更改为手动。
.ScreenUpdating = false不会产生运行时错误,但是屏幕会更新,就像代码被忽略一样。
.Application.Calculation产生运行时错误1004。
Dim Xl As Excel.Application
Dim XlBook As Excel.Workbook
Set Xl = CreateObject("Excel.
我在另一个答案中找到了这个
Sub UpdateQueryConnectionString(ConnectionString As String)
Dim cn As WorkbookConnection
Dim oledbCn As OLEDBConnection
Set cn = ThisWorkbook.Connections("database")
Set oledbCn = cn.OLEDBConnection
oledbCn.Connection = ConnectionString
End Sub
我似乎收到一个关于Set oledbCn =
在Excel2002中,我有多个数据透视表,每个数据透视表都位于不同的工作表中。
当我尝试用VBA用下面的代码生成这些图表时:
Set cht = Charts.Add(After:=Worksheets("Setup"))
With cht
' we use named ranges here
.SetSourceData Source:=range(tblName)
.Name = chtName
……
其中tblName是刚刚创建了几行的命名范围,如果只有一个表和图表生成,代码运行正常,但给我一个运行时错误1004:“PivotChart报
用户有一个Excel电子表格。为了保存它,他们按下一个按钮,运行下面的VBA代码。
代码试图将Excel电子表格保存到网络位置,用今天的日期修改文件名。
代码将间歇性地失败。
“运行时错误'1004':对象的”_Workbook“失败的方法'SaveAs‘”。
剧本是:
Public Sub Copy_Save_R2()
Dim wbNew As Workbook
Dim fDate As Date
fDate = Worksheets("Update").Range("D3").Value
S
我在MS Word中创建了一个宏,它需要能够(基本上)将word中的表内容复制并粘贴到excel中。
免责声明:这可能看起来过于复杂;但是,这种方法是必需的,因为它是为更复杂的处理设置的。
长话短说,我循环遍历文档中的每个表,然后遍历表中的每个单元格,并将文本放入excel工作表中的相应单元格中。
对于excel对象,我有以下声明:
'Objects
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlRange As Excel.Range
在循环的底部,我有以下代码:
xlBook.Worksh
在excel VBA中,我似乎找不到这么简单的工作
我有关于手机A1的数据
Sub TestBox()
ActiveSheet.Activate
MsgBox (Cells(0, 0).Value)
End Sub
我想要输出这些数据,基本上使用一个msgBox
运行时错误:“1004”应用程序-defined或对象定义错误
以下摘自的Excel 2013书的代码没有运行,而是抛出了一个运行时错误1004 --有什么想法吗?
Option Explicit
Sub main()
Dim subToCall As String
Select Case VBA.weekDay(Now)
Case 1, 7
subToCall = "weekEnd"
Case Else
subToCall = "daily"
End Select
Application
根据微软的说法:https://docs.microsoft.com/en-us/office/vba/api/excel.filter.criteria2可以设置一个变量= .Criteria2。这会在Excel 2010-2019/365中抛出运行时1004错误。 注意:如果筛选的列是dates,则Criteria1和Criteria2是未定义的:应用程序定义的错误或对象定义的错误。注意:在筛选文本或数字列时,Excel将正确地记住Criteria1。 为了让审阅者简化这一过程,我只录制了一个宏来过滤一列日期,并添加了注释以显示结果。 Sub Macro2()
'
' M
在将Excel工作簿转换为CSV时,我的VBA脚本出现了错误。VBA脚本通过Microsoft脚本运行。
Private Sub CommandButton1_Click()
Dim objExcel As New Excel.Application
Dim wb_xl As Excel.Workbook
Dim wb As Excel.Worksheet
Set wb_xl = objExcel.Workbooks.Open("O:\documents\folder.xlsx")
wb_xl.SaveAs FileName:="O:\documents\folde
其目标是自动完成每天打开工作簿、导入.csv文件和执行一些格式化、保存和退出excel的任务,唯一的要求是打开计算机。我每天使用windows任务调度程序打开启用宏的工作簿。在此站点的帮助下,我将参数/p“我的特定路径”添加到设置我希望访问的导入路径的任务中。然后,使用Workbook_open函数执行导入,但是,在突出显示.refresh backgroundquery:=false行时会发生以下错误:
Run-time error '1004':
Excel cannot find the text file to refresh this external data ra
这里的新手,
我正在尝试制作一个VBA代码,以便在状态栏中显示SumProduct。
下面是我插入模块的代码:
Option Explicit
Public SrPr As Long
Public rng As Range
Sub SumProduct()
SrPr = Application.WorksheetFunction.SumProduct(rng)
Application.DisplayStatusBar = True
Application.StatusBar = "SumProduct: " & SrPr
End Sub
之后,我在Excel对象中
我有一个VBA,连同许多其他东西,将一个excel工作簿保存到SharePoint (我认为是企业2010 ),它大部分时间运行良好,但在用户运行VBA时,Excel会冻结,弹出显示“获取可用内容类型和属性的列表.”。如果用户选择取消另一个弹出,则出现“运行时错误'1004':对象'_Workbook‘的方法'SaveAs’失败。如果用户选择”Debug“,则VBA的最后一行突出显示为创建错误。
Dim fileName As String
Dim excelDirName As String
fileName = [c9]
excelDirName = [c
我正在尝试将excel文件(office 2010)导入到microsoft project中。当我手动执行此操作时,它工作得很好(以确认excel文件未损坏)。然而,当我在MS Project中使用宏(在启动MPP文件时)导入它时,我得到一个错误“运行时错误'1004‘。下面是我试图从MSProject执行的代码。
Private Sub Project_Open(ByVal pj As Project)
Dim strFilepath As String
'strFilepath = "C:\Temp\ExcelSrc.xlsx"
我想从vba excel的另一个工作簿中复制另一个工作表中的某些值,但我遇到了错误1004。这是我的代码
Sub copiar()
Dim rng As Range
Dim cell As Range
Dim rng2 As Range
Dim cell2 As Range
Set rng2 = Range("A2:A5")
Set rng = Workbooks("perfumes.xlsx").Sheets("hoja").Range("A4:A10")
For
我不会发布完整的代码,因为它是相当巨大的-我将专注于导致错误的部分。
该宏用于复制在excel中生成的URL,在IE中打开它们,将源代码复制到另一个工作表中,在此代码中查找某些内容,将结果保存在特定单元格中,删除工作表并转到下一个URL。它工作得很好,它复制了许多URL的源代码,但对于一些URL,它只是失败了。当我手动打开URL时-它们工作得很好,但不知何故Excel为它们抛出了一个错误。
你们能检查一下下面的内容,帮助我更好地理解问题出在哪里吗?
以下是两个示例链接:
这个运行良好- 这个抛出错误1004 -
下面是代码:
Sub CC_Check()
Dim ie As Int
当我将宏文件与另一台pc一起使用并运行宏代码时,我试图保存拆分的excel文件。
“运行时错误'1004':对象‘_Workbook’的方法'SaveAs‘失败
VBA码
Option Explicit
Const Target_Folder As String = "C:\OutputData\"
Dim wsSource As Worksheet, wsHelper As Worksheet
Dim LastRow As Long, LastColumn As Long
Private Sub SplitWorksheet(ByVal C
我刚刚学习了一些VBA,以便做一些耗费时间的报告。只有当我的原始数据低于100000行时,VBA才能完美地运行。如果它有超过100000行,它会抛出一个错误:
运行时错误“1004”-对象的“范围”方法失败
我所写的代码:
Sub OSP_UntouchedReport()
Dim Magisk As Long
With ActiveSheet
Magisk = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Sheets("RAW").Select
Range("BI1").Value
更新:,我想我找到了答案,但我还没能看到在Excel2013中是否有办法做到这一点。
这个链接有关于ModelMeasures.Add方法的文档,但是我现在还没有找到真正的好例子。如果有一个在Excel 2013中使用VBA向模型添加度量的好示例,请共享答案。
我能找到但无法在Excel2013中完成的最好例子:
原始帖子:
我试图使用VBA自动将计算出的字段添加到powerpivot枢轴表中。我在VBA方面没有经验。
当我使用下面的公式手动添加一个计算字段时,我能够看到添加的计算字段。这个VBA代码有什么问题?
这里是我的代码:
Sub Macro5()
Dim PvtTbl As
我尝试了以下解决方案从Excel打印到PDF:
它产生
运行时错误1004
在wb.ExportAsFixedFormat上。
我的Excel: 2007版。
我更改了文件路径,以便将其保存到我的桌面上。
Sub Invoice_to_PFD()
'Saves the invoice print area to a PDF file
Dim fp As String
Dim wb As Workbook
fp = "C:\desktop\NewInvoice.pdf"
Set wb = ActiveW
我遇到了一个Excel VBA的问题,它显示运行时错误'1004‘。
代码如下:
Sub modifyformula()
Dim formla As String
formla = Cells(21, 48).Formula
Cells(21, 48).Formula = "=IF(ISERROR(" & formla & ",," & formla & ")"
End Sub
基本上,我尝试做的是如果告诉VBA添加"= if (ISERROR(“...添加到现有公式中,我将告诉VBA更新包
我在Access 2010中有一些VBA,可以运行查询并将结果导出到Excel的列中。这里的目标是,当用户按下所需的按钮时,将打开一个excel工作簿,如果它不存在,则创建它。创建新工作簿时,VBA会按预期执行。我遇到的问题是工作簿何时已经存在。
因此,在我创建了一个设置我的excel应用程序对象后,我尝试打开工作簿。当它不存在时,会发生1004错误,并且我有以下错误处理程序:
Select Case Err
Case 1004 'Workbook doesn't exist, make it
xl.Workbooks.Add
Set wb
我目前正在尝试建立一个按钮单击打印宏,以打印除两张纸(目前总共5张)之外的所有页。此外,我还有第三个页面,我希望用户定义它有多少页要打印。当我试图让它基于一个单元格时,我得到了错误1004。为了查看其余代码是否正常工作,我让模块有一个定义的数字,在打印第一张表之后,excel崩溃了。 Sub Button1_Click()
Dim Wks As Worksheet, xcell As Integer
'The next line is where I get 1004 but when I change it to a fixed number it crashes excel
我遇到了一个小问题。我想用VBA删除一些行,但我希望避免使用Activate或select语句。问题是,如果我不激活工作簿,我的代码在删除或复制行时会返回一个错误。
With Template.Worksheets("1").Range("A3").CurrentRegion
rCountS = .Rows(.Rows.Count).Row
.Range("A4", Cells(rCountS, 1)).EntireRow.Delete
End With
.Range部件在下面返回一个错误:
运行时错误“1004”:应用程序定义的或对象定义的
我正在MS中编写一个VBA脚本,这涉及到工作簿的创建。但在定义范围时,我做错了一些事情,而且它的工作方式似乎不同,因为我不在Excel中。
这是我当前的代码,归结为有问题的部分:
Dim myExcel As Object
Dim myWb As Object
Dim myRange as Object 'Not sure if I should declare this one as an object or a range
Dim myRangeString as String
Set myExcel = CreateObject("Excel.Application
我在Outlook中有一个运行VBA脚本的规则。此VBA用于打开本地Excel文件,并运行Excel文件中的宏。
当运行并打开Excel文件时,我收到错误:运行时错误1004:无法运行宏'Ask me macro workflow.xlsm!AskMeFlow‘。宏可能在此工作簿中不可用,或者所有宏都可能被禁用。
从Excel运行Excel宏时,一切运行正常。
我在Outlook中的代码:
Sub AskMeAlerts()
Dim appExcel As Excel.Application
Dim wkb As Excel.Workbook
Set app
我试图使用一个字符串来使用Range(MaPlage)来选择一些单元格,但这是行不通的。下面是代码以及我如何构造字符串:
Dim MaPlage As String
Dim MyRange As Range
Dim Line As Integer
Dim AdrRD as String
Dim First_Cell As Boolean
First_Cell = True
AdrRD = "A"
For Line = 1 To 100 Step 1
If Sheet.Range(AdrRD & Line).Value = "" Then
If
我有下面的VBA来更新我在excel中的数据连接中的命令文本。
Sub ClaimLine_Macro()
Dim strsql As String
strsql = "Select a.* from claim a "
strsql = strsql & Worksheets("SQL_ClaimLine").Range("claim1")
strsql = strsql & Worksheets("SQL_ClaimLine").Range("claim2")
我希望在指定表的每一行中执行目标搜索。下面的VBA代码成功执行了GoalSeek。 Sub GoalSeek()
Dim lo As ListObject
Dim rw
Set lo = Sheet1.ListObjects("Table1")
For rw = lo.DataBodyRange.Rows.Count To 1 Step -1
Range("M" & rw).GoalSeek Goal:=Range("N" & rw).Value, ChangingCell:=Range("E" &
在特定工作表上定义范围时,Excel抛出错误1004 我在Excel vba中得到了两个工作表:-Sheet A -Sheet B 作用域Sheet_A: Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng as Range
Set Rng = Sheets("Sheet_B").Range("A1")
Set Rng = Range(Rng, Rng.offset(0,1))
End Sub 也许我保护了我的工作表或类似的东西,因为我得到了错误:-> 1004“应用程