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