Tag: access vba

创buildExcelmacros以将具有特定标题的工作表过滤到新的工作簿

我有一个Excel工作簿包含~50张不同的工作表。 这些表被组织成原始数据和组织的数据摘要。 数据摘要是我尝试上传到Access数据库的工作表,这些工作表都包含string“Summary”或“Sum”作为其名称的一部分。 我是VBA的新手,我想知道是否有办法设置一个脚本来过滤表单,这样我只剩下汇总表而不是原始数据表作为工作簿的一部分。 理想情况下,我会将摘要表复制到一个新的Excel工作簿,因为我不想丢失我的原始数据。 任何帮助? 或者这是不可能的?

直接通过VBA excel运行相同的存储Access SQL查询时获取不同的结果

嘿下面的存储访问查询是通过VBA excel运行时给POEventCode“ NA ”,并直接运行访问时给出正确的结果。为什么这是exception? SELECT D.[Event Code] & D.[Week Code] AS POEventCode, * INTO A FROM (SELECT IIf([Advertisement type]='Tabloide','TAB', IIf([Advertisement type]='Flyer','FLY','NA')) AS [Event Code], IIf(([Start Date]>[SD] And [Start Date]<[ED]), [Month] & Right([WM_WK],2),'NA') AS [Week Code], * FROM [Feature A-Traits] AS C, [Event Code] AS B) AS D WHERE (D.[Week Code]) Not Like '*NA*' And (D.[Event […]

升级到2007 VBA后无法保存文件

我有一个我打电话来保存文件的子 Sub SaveToFile() maxr = Worksheets("List").Range("H1") Worksheets("List").Range("G1:AE" & maxr).Copy 升级到2007年后,部分失败的代码是: With Application.FileSearch .LookIn = "Q:\Planning Tools\Reports\" .Filename = "Plan_" & ThisSaveTime & ".xls" 我收到一个运行时错误'445'对象不支持这个动作,代码接下来继续: If .Execute > 0 Then 'Existing Workbook Application.Workbooks.Open ("Q:\Planning Tools\Reports\Plan_" & ThisSaveTime & ".xls") ActiveWorkbook.Worksheets.Add ActiveWorkbook.Sheets("Sheet1").Select ActiveWorkbook.Sheets("Sheet1").Name = ThisPlanSaveName Else 'No existing Workbook, so add one Workbooks.Add 1 ActiveWorkbook.Sheets("Sheet1").Select ActiveWorkbook.Sheets("Sheet1").Name = […]

如何在完全相同的时间戳记中将数据导入到表格中?

我有这个代码从Excel加载数据到我的表中的Access。 我有我的所有表中的[Load_date]的最后一列,并在我的表的devise视图中我使用默认值的函数=Now() 。 我的问题是我的每个表有不同的时间戳相差几秒钟。 我怎样才能更新我的VBA代码来同时导入所有表中的数据? Sub ImportAllTables_New_Click() Call LoadData("C:\Idea Attributes\tbl_IdeasITAssumptions.xlsm", "TempIdeasITAssumptions", "Qry_IdeasITAssumptions", "Qry_AppendIdeasITAssumptions") Call LoadData("C:\Idea Attributes\tbl_IdeasDependencies.xlsm", "TempIdeasDependencies", "Qry_IdeasDependencies", "Qry_AppendIdeasDependencies") Call LoadData("C:\Idea Attributes\tbl_IdeasImpactedPlan.xlsm", "TempIdeasImpactedPlan", "Qry_IdeasImpactedPlan", "Qry_AppendIdeasImpactedPlan") Call LoadData("C:\Idea Attributes\tbl_IdeasImpactedSubsidiaries.xlsm", "TempIdeasImpactedSubsidiaries", "Qry_IdeasImpactedSubsidiaries", "Qry_AppendIdeasImpactedSubsidiaries") Call LoadData("C:\Idea Attributes\tbl_IdeasLOB.xlsm", "TempIdeasLOB", "Qry_IdeasLOB", "Qry_AppendIdeasLOB") Call LoadData("C:\Idea Attributes\tbl_IdeasPhaseGate.xlsm", "TempIdeasPhaseGate", "Qry_IdeasPhaseGate", "Qry_AppendIdeasPhaseGate") Call LoadData("C:\Idea Attributes\tbl_IdeasDataExtractMain.xlsm", "TempIdeasDataExtractMain", "Qry_IdeasDataExtractMain", "Qry_AppendIdeasDataExtractMain") End Sub Sub LoadData(Filepath As String, […]

从Access VBA格式化Excel

我需要在工作簿中的单元格1之上添加一个新行。 我input了我认为正确的下面的语法,但是我得到一个错误: 对象不支持此属性或方法 当语法命中块的第二行 – .Rows("1:1").Select 为了使这个语法像预期的那样执行,我需要改变什么? Function AdddFormatting() Dim ExportRecordSet As DAO.Recordset Dim excelWS As Object, excelWS2 As Object Dim xl As Object Dim wb As Object Dim TemplateWB As String Set xl = CreateObject("Excel.Application") TemplateWB = "C:\Test\Testwb.xlsx" Set wb = xl.Workbooks.Add Set excelWS = wb.Worksheets(1) excelWS.Name = "AddedFromCode" Set excelWS2 = wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count)) excelWS2.Name […]

worksheet.activate未激活

下面的代码片段旨在打开特定XL文件的特定工作表,并使其成为活动工作表。 但是,debug.print提供了不同工作表的输出。 不应该objws.activate使objws活动工作表? Dim XLApp As New Excel.Application Dim ObjXL As Excel.Workbook Dim ObjWS As Excel.Worksheet Set ObjXL = XLApp.Workbooks.Open(TargetXL) Set ObjWS = ObjXL.Worksheets(TargetWS) ObjWS.Activate Debug.Print ObjWS.Application.ActiveSheet.Name & "," & ObjWS.Name

string函数MID是否有更好的实现,或者VBA的更好的实现方式更快

我有脚本调用“MID”(16N)次,当N = 43时需要大约4分钟的执行时间。我不知道为什么它需要这么长时间,每次调用的string为〜440个字符: Sub Button1_Click() If Sheets.count = 1 Then a = ActiveWorkbook.Name ChDir "C:\" MsgBox "Be Prepared to a text file", vbExclamation, _ Application.ScreenUpdating = False Application.Calculation = xlCalculationManual FileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt") Workbooks.OpenText FileToOpen, Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited, Tab:=True x = ActiveWorkbook.Name 'SO # workbook Workbooks(x).Sheets(1).Copy after:=Workbooks(a).Sheets(1) ActiveSheet.Name = "Results" Windows(x).Activate […]

从一个string中提取一系列参考数字

我在包含用户注释的数据库中有一个字段。 这些评论有时包含订单参考号码,交付参考号码或运营商参考。 订单参考遵循格式 X########## 递送参考:TR ###### 载体参考:FC ##### 这些引用被用户注释中的其他信息包围,所以偶尔出现,没有固定的模式。 示例数据:“由于订单重复X1234567890丢失的项目也可能是由于盗窃” 我想要做的是在我的表中创build3个额外的列,每个这些引用一列,然后search用户评论和提取这些引用到他们合法的列。 这将在Access中执行,但也将在Excel中需要。 任何人都可以帮助一个Visual Basic函数来做到这一点? 请帮忙! 我一直在拉我的头发!

从Excel中运行访问查询并将parameter passing给查询

如何在ms中执行查询从Excel VBA代码或macros中访问db。 MS-Access查询接受一些参数,需要从Excel传递。 谢谢

如何从MS Access VBA中删除我的孤儿MS Excel进程?

我正在将MS Access查询导出到模板,进行一些格式化,然后将模板另存为新名称。 当这一切都完成后,我有一个孤立的MS Excel进程,干扰时再次调用该函数。 我认为这是要么我是如何使用范围或最后我的清理问题。 此外,我是一个新手编码器,所以如果任何人有任何提示和技巧,我可以利用,使这个更好,我总是接受。 Andre的评论之后更新的代码在Rory的评论之后更新了代码 Public Function OpenOrders(strSupplier As String) 'Excel file variables Dim xlapp As Excel.Application Dim wb As Excel.Workbook Dim ws As Excel.Worksheet Dim xlsLRow As Long Dim xlsLCol As Long 'Access variables Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String 'Set up access objects strSQL = […]