A. excel表格中运行宏 打印的时候提示编译错误,标签未定义
Private Sub Workbook_BeforePrint(Cancel As Boolean)
dim x , y '可以定义确定的类型,如 dim a as double,以提高程序运行效率。默认是 varient 类型
On Error GoTo E '标签未定义,在合适的位置定义标签 E:
E: '定义标签
x = Format(Date, "yyyymmdd") '变量未定义
y = [d11].Value'变量未定义
If Left(y, 8) = x Then
[d11] = y + 1
Else
[d11] = x & "001"
End If
End Sub
B. Excel编译错误:子过程或函数未定义
vba中没有update函数
这个应该是数据库中的,需要添加数据库对象,才能使用,不能直接使用。
C. excel2007 为什么显示编译错误:用户定义类型未定义!
首先,你把代码复制过去之前得把控件“ListBox1”也复制过去或是新建一个ListBox控件;
其次,如果你的把控件复制过去,那得看一下名称是不是ListBox1,否则也不行。
D. Excel 提示未定义变量,怎么解决
方法/步骤
对象未定义时将产生此类错误:
一种典型的情况就是在定义对象时未正确创建对象本身而导致在编译时产生“用户定义类型未定义”的错误提示。
对此小编物提供以下通用定义外部对象的方法:
Sub 定义并引用外部对象() 'Word后期绑定示例
Dim wdapp As Object
Dim wd As Object
Dim tb As Object
Set wdapp = CreateObject("word.application") '打开一个word运用环境
wdapp.Visible = True '允许word文件可见
Set wd = wdapp.Documents.Add '新建一个word文档
Set tb = wd.Tables.Add(wd.Range(0, 0), 3, 6)
'在文档开始处加入一个3行6列的表格!!
End Sub
未引用相关库文件导致产生此类错误:
尤其是在代码中引用了相关控件的方法,但是之前并未引用对应的库函数将导致这类错误。对此我们需要首先加入对控制的支持库,然后方可在编辑中引用对应控件。
引用对应支持库的方法:在VBA环境下,点击“工具"->”引用 “项。
然后在打开的”引用“窗口中,勾选相应的项,点击”确定“即可完成支持库的导入操作。
6
另外针对变量,Excel VBA采取了两种对待方式,一种是弱定义,即允许变量在未定义的情况下直接使用。另一种则是强定义,即变量必须得先声明后使用。如果想要在两种定义之间切换,可以使用关键字“Option Explicit”进入强定义声明。这样就不会产生“变量未定义”的错误提示啦。
E. EXCEL VBA 提示编译错误,用户定义类型没定义
InterfaceInfo 是外部对象的属性 需要先加载或者申明
这个应该是老罗书中的代码吧,回头再去看看吧!
F. excel提示用户定义类型未定义怎么办
对象未定义时将产生此类错误: 一种典型的情况就是在定义对象时未正确创建对象本身而导致在编译时产生“用户定义类型未定义”的错误提示。 对此小编物提供以下通用定义外部对象的方法: Sub 定义并引用外部对象() 'Word后期绑定示例 Dim wdapp As Object Dim wd As Object Dim tb As Object Set wdapp = CreateObject("word.application") '打开一个word运用环境 wdapp.Visible = True '允许word文件可见 Set wd = wdapp.Documents.Add '新建一个word文档 Set tb = wd.Tables.Add(wd.Range(0, 0), 3, 6) '在文档开始处加入一个3行6列的表格!! End Sub 未引用相关库文件导致产生此类错误: 尤其是在代码中引用了相关控件的方法,但是之前并未引用对应的库函数将导致这类错误。对此我们需要首先加入对控制的支持库,然后方可在编辑中引用对应控件。 引用对应支持库的方法:在VBA环境下,点击“工具"->”引用 “项。 然后在打开的”引用“窗口中,勾选相应的项,点击”确定“即可完成支持库的导入操作。 另外针对变量,Excel VBA采取了两种对待方式,一种是弱定义,即允许变量在未定义的情况下直接使用。另一种则是强定义,即变量必须得先声明后使用。如果想要在两种定义之间切换,可以使用关键字“Option Explicit”进入强定义声明。这样就不会产生“变量未定义”的错误提示啦。
G. excel打开时提示:编译错误 子过程或函数未定义
建议:
1、下载宏病毒专杀软件杀毒。
2、卸载OFFICE后,用优化大师类软件清理清册表,再重新安装OFFICE。
H. EXCEL宏中find编译错误:子过程或函数未定义。例:cells(4,1)=find(cells
参考帮助文件
或使用
Sub aa()
Cells(4, 1) = WorksheetFunction.Find("-", Cells(2, 1))
End Sub
I. vb6.0添加excel的问题 一下代码提示编译错误 “用户定义类型未定义”
1:读取。
1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:
Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类
Private Sub Command1_Click() '打开EXCEL过程
If Dir("D:\temp\excel.bz") = "" Then '判断EXCEL是否打开
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.Visible = True '设置EXCEL可见
Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打开EXCEL工作簿
Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
xlsheet.Activate '激活工作表
xlsheet.Cells(1, 1) = "abc" '给单元格1行驶列赋值
xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏
Else
MsgBox ("EXCEL已打开")
End If
End Sub
Private Sub Command2_Click()
If Dir("D:\temp\excel.bz") <> "" Then '由VB关闭EXCEL
xlBook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏
xlBook.Close (True) '关闭EXCEL工作簿
xlApp.Quit '关闭EXCEL
End If
Set xlApp = Nothing '释放EXCEL对象
End
End Sub
2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。
3、在"bb.xls"中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:
Sub auto_open()
Open "d:\temp\excel.bz" For Output As #1 '写标志文件
Close #1
End Sub
Sub auto_close()
Kill "d:\temp\excel.bz" '删除标志文件
End Sub
4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。
2:写入。
Excel导入sql:
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command2_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=dataBase001;Data Source=mySERVICE"
cn.CursorLocation = adUseClient
cn.Open
cn.Execute "select * into table4 from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=Yes;database=d:\temp\bb.xls;','select * from [Sheet1$]')"
cn.Close
Set cn=Nothing
End Sub