我有一个Excel文件,我需要自动化。当用户打开Excel报告时,如果他们想刷新数据,它将提示。如果他们说是,那么我需要它运行Access数据库中的MakeTable查询,以刷新报表的所有底层数字。
我已经搜索过了,也没能找到真正有用的东西。
我甚至尝试在Access中创建能够处理查询的VBA代码,但我甚至无法从Excel中运行该代码。
下面是我当前的代码以及我尝试过的一些无效代码:
Sub RunAccessMTQuery(ByVal DBLocation As String)
Dim db As Object
Set db = CreateObject("Access.A
我有一个由5 Sheets组成的Excel文件。
在Sheet1,Sheet2和Sheet3中,我有一个Button 1。
一旦用户单击其中一个按钮,所有Button 1都应从其当前位置移动到范围D9:E11。
无论用户在哪个工作表中单击该按钮。
我试着使用的解决方案,但只有当我有两张床单时,它才能工作。
我试图添加Sheet3,但是它没有起作用:
错误的参数数或无效的属性分配
Sub Sample()
MoveButton Sheet1, "Button 1", Sheet2, Sheet3
End Sub
Sub MoveButton(sh As Workshe
我必须在vba (Excel)中使用大约38个输入参数执行Oracle存储过程。这个
stored procedure will insert some values in the destination table once that is executed. When it is executed through VBA the number of fields which is inserted is less than when it is executed directly from the backend (oracle).
例如,它创建了大约17个字段
完全是VBA的新手,所以请原谅这个琐碎的问题。我只是尝试在另存为csv之前打开xls文件。
Workbooks.Open行给出了运行时错误。我做错了什么?
Sub vba_code_to_convert_excel_to_csv()
Set wb = Workbooks.Open("C:\EOD_Files\PROALPHA_08022017.xls")
wb.SaveAs FileName:="C:\EOD_Files\PROALPHA_08022017.csv", FileFormat:=xlCSV, CreateBackup:=False
End S
Excel/VBA编译器似乎不能在编译时捕获无效属性。这里有一个简单的例子:
Option Explicit
Sub CompileExample()
Application.Calculzzzzzzzzation = xlCalculationAutomatic
End Sub
当然,它会在运行时失败,但可以很好地编译。通常,这对我来说不是问题,但我正在尝试编译一些机器生成的代码,以避免明显的错误,而不是执行它。有没有办法强制编译器执行严格的检查?
我正在与Arena一起使用这个代码,这是Rockwell自动化公司的一个模拟软件。我试图让代码从excel表中读取一些数据,并将其分配给进入vba模块的实体的属性。当我运行模拟时,我得到了这个SIMAN错误窗口:
"17035:EEVBA实体:2
在以下块的时间0.0处检测到一个运行时错误:*6 15$ VBA:0,vba:NEXT(2$);
事件号0无效:必须为正。“
这个错误是什么意思?这是我的代码,有什么建议吗?
Option Explicit
Public XL As Object
Public Wo As Integer
Public W_1 As Integer
Publi
我正在使用PL/SQL Developer。我正试图通过vba获得查询结果到excel。由于查询时间太长,我决定使用查询结果创建表,然后使用vba获取表结果。为了通过excel创建表,我需要使用动态sql创建过程。到目前为止,我就是这样做的(即使这个简单的例子也不起作用):
create or replace procedure d_x IS
str VARCHAR(81) = 'create table as select 1 as x from dual'
BEGIN
EXECUTE IMMEDIATE str;
END;
过程完成,没有错误。但是,当我试图执行它
我是VBA的新手,在如何解决执行此代码时收到的“运行时错误'5':无效的过程调用或参数”错误上遇到困难。有问题的单元格有中文字符,代码在英文字母表上似乎工作正常。流正在输出到文本文件。(将来应该是xml文件,但我仍然没有实现所有正确的格式)
Dim fso As New FileSystemObject, stream As TextStream
Set stream = fso.createTextFile("C:\Users\username\XMLs\" _
& WS_Src.Cells(c.Row, 5).Value & &
我试图在VBA中使用IRR函数。IRR()在Excel中工作得很好。正如我在VBA中编写的那样,
a = Array(3, 4, 5)
b = IRR(a, 0.1)
它抱怨“编译错误:类型错配:数组或用户定义的类型期望”。让我困惑的是一个数组。怎么啦?
我根据Pieter的说法改写了函数如下:
option base 1
Function trial()
Dim a(2) As Double, b As Double
a(1) = 1.2
a(2) = 3.4
b = IRR(a(), 0.1)
End Function
我得到错误信息:运行时错误'5':无效的过程调用
我编写了一个vba代码来隐藏/取消隐藏我的活动工作表中的图表/列表框,这是我分配给一个“按钮”的,或者仅仅是我从excel中的Insert选项卡中提取的一个形状。此代码适用于1形状,但我无法让它与多个形状一起工作。我对VBA并不熟悉,所以我不确定语法的所有细微之处。我现在拥有的是:
Sub OverviewB()
With ActiveSheet.Shapes("Rounded Rectangle 1").TextFrame2.TextRange.Characters
If .Text = "Hide Overview" Then
我有VBA代码,运行sql服务器存储的proc,将数据导入excel。
Excel数据:
Id Division Department Scale
1 North IT 8.5
2 South Finance 8.0
3 North Finance 8.0
4 West IT 8.5
5 East Finance 8.0
6 South
我试图在我的vba代码中引入一个公式,并且我在它中得到了一个错误。请查看代码,并分享您的想法。
这是我用VBA代码编写的excel函数:
GetUniqueCount(Range,Value)
下面是试图利用它的VBA代码:
Sheets("sheet2").Activate
With ThisWorkbook.Sheets("sheet2").UsedRange
lastrow = .Rows(.Rows.Count).Row
End With
For i = 14 To lastrow
我知道这个问题已经被问了一遍又一遍,但我找不到任何指南。
我完全是一个Access和编写VBA的初学者,所以我找到了一些代码,可以帮助我在Access中将许多文件导入到不同的表中。
我已经尝试了几种将代码放入其中并从宏或button...none调用的变体,它们都是成功的。
代码可能有问题,但我知道的还不够多。我也非常确定我在尝试调用函数时做了其他错误的事情。请帮帮我!
代码如下:
Option Compare Database
Option Explicit
Function DoImport()
Dim strPathFile As String, strFile As String,
我只是尝试使用VBA来创建/保存单个excel表作为单独的PDF文件。
我在网上看到这个:
Sub SaveWorksheetsAsPDFs()
Dim sFile As String
Dim sPath As String
Dim wks As Worksheet
With ActiveWorkbook
sPath = .Path & "\"
For Each wks In .Worksheets
sFile = wks.Name & ".pdf"
在为Excel编写VBA宏时,我遇到了一些语法选项问题。在VBA中,您可以通过两种不同的方式调用对象上的方法:
foo.bar(arg1, arg2)
或
foo.bar arg1, arg2
我绝对讨厌第二种语法,因为我发现它缺乏任何类型的清晰度,所以我通常坚持第一种选择。但是,我遇到了这样一种情况:使用第一个选项会产生错误,而使用第二个选项可以很好地执行。(这可能是我的代码中其他问题的指示器。)以下是罪魁祸首代码:
Function GetFundList() As Collection
Dim newFund As FundValues
Range("A5"
我有一个MS Word文档,它生成一个Excel,其中填充了Word文档中的一个表中的数据。Word表的Excel版本将是一个检查表。因此,我试图在生成的excel中添加一些特性,以使其更有用。我尝试添加条件格式设置(如果该行被标记为完全)和验证(因此已完成的列有带有Yes或No的下拉列表)。我可以使两者在Excel中工作,但不能从Word获得VBA来向生成的Excel添加功能。
在这两种情况下,.Add方法似乎都造成了问题。我尝试了两个语法来做到这一点:
With objNewExcel.Sheets(1).Range("e5").Validation
.Add Ty
我收到了一个错误:
“运行时错误91:对象变量或块变量未设置”。
调试用MsgBox()高亮显示一行
Sub CATMain()
Dim xlApp As Excel.Application
Set xlApp = VBA.GetObject("", "Excel.Application")
Dim exlBook As Excel.Workbook
Set exlBook = xlApp.ActiveWorkbook
MsgBox exlBook.Name
End Sub
有什么不对的
我对这个VBA Excel代码有一个问题:=如果A3不存在,Area(A2,A3)不会返回任何值。
Function Area(Length, Optional Width)
If IsMissing(Width) Then
Area = Length * Length
Else
Area = Length * Width
End If
End Function
下面的VBA代码停止在Me.Show。从我的测试来看,Me.Show似乎停止了所有的代码执行,即使代码在UserForm中。
此部分位于UserForm之外。
Public Sub TestProgress()
Dim objProgress As New UserForm1
objProgress.ShowProgress
Unload objProgress
End Sub
此部分位于UserForm内部。
Private Sub ShowProgress()
Me.Show vbModal
Dim intSecond As Integer
谢谢你打开这个。在过去的几天里,我一直在绞尽脑汁地思考这个错误(运行时错误“5”:无效的过程调用)的反面错误,这个错误在每一个转折点都阻碍了我。
本质上,我的目标是运行并执行SQL命令,以查找给定类别中最大的数目,并将其存储到变量中供以后使用。我尝试过不同的方法来处理这个问题,无论我如何做(无论是在VBA中使用DMAX还是通过SQL),每当我试图执行命令时,我都会遇到相同的错误。我得到了一些帮助,但我认为有一些更深层次的问题,我不理解的VBA。
以下是代码:
Public Function GetMaxValue(Child As String)
Dim RAC As DAO.Rec
我有一个类似于在这个中讨论过的问题。
其实我的更简单。
我的VBA代码检查列中最后使用的行,然后定义排序范围。
Dim LastRow As Long
Dim KeyR As Range
LastRow = ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row
Set KeyR = ActiveWorkbook.Worksheets("Summary_Cost").Range("E10:AS" & LastRow)
KeyR.Select
ActiveWorkbook.Works
我有一个广泛的excel数据透视表的宏来创建6个数据透视表。每当我尝试运行宏时,我都会收到一个错误(5)、无效采购或参数。我浏览了各种论坛,但找不到修复此错误的方法。错误存在于第3-6行的某处。如果有人能给我指出正确的方向,我将不胜感激。我不精通VBA语言。
Range("A5").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"All Open Tool Records 05-22-20!R1C1:R4750C27",