Problem: Type mismatch error 13
24.09.2004 14:00:30
Sören
ich habe ein Macro geschrieben um Daten aus einer Exceltabelle in eine andere einzulesen. Auf meinem Rechner (WinXP und Excel 2002) läuft der Macro auch einwandfrei. Das Problem: Auf einigen Rechnern läuft es und auf anderen kommt die Fehlermeldung "Type mismatch error 13" obwohl die selbe Excel und Windows version vorliegt.
Ich denke der Fehler muss irgendwo in der connstring Variablen liegen.
Vieleicht könnt Ihr mir helfen, hier ist ein Auszug aus dem Code: Gruß Sören
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMS As Long)
Sub import()
Dim datei As String
Dim wks As Worksheet
Dim Seitenanzahl As Integer
Dim File As Variant
Seitenanzahl = 0
For i = 1 To Sheets.Count
If Sheets(i).name = "Sheet1" Then
Application.DisplayAlerts = False
ActiveWorkbook.Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
bExists = True: Exit For
End If
Next i
Application.ScreenUpdating = False 'Seitenanzahl zählen, um Blatt ans Ende zu kopieren
For Each wks In Worksheets
wks.Select
Seitenanzahl = Seitenanzahl + 1
Next wks
Worksheets(Seitenanzahl).Select
MsgBox ("Wählen Sie die zu importierende Datei aus")
File = Application.GetOpenFilename 'zu importierende Datei öffnen
Dim connstring As String
If File = False Then Exit Sub
connstring = CStr(File)
If File "False" Then
ein")
ActiveWorkbook.Sheets.Add
ActiveSheet.name = "Sheet1"
' Admin
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password= """";User ID= Admin ;Data Source=" & connstring & " ;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLE" _
, _
"DB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global P" _
, _
"artial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False" _
, _
";Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Je" _
, "t OLEDB:SFP=False"), Destination:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array("'Forecast Revenue Insurance$'")
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = False
.Refresh BackgroundQuery:=False
End With
Worksheets(Seitenanzahl).Move After:=Sheets(Seitenanzahl + 1)
Else
MsgBox ("Sie haben keine Datei ausgewählt." + Chr(13) + "Import wurde abgebrochen!")
Exit Sub
End If