Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem: Type mismatch error 13

Forumthread: Problem: Type mismatch error 13

Problem: Type mismatch error 13
24.09.2004 14:00:30
Sören
Hallo,
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
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem: Type mismatch error 13
Nike
Hi,
um ein neues Blatt ans Ende zu stellen:
ActiveWorkbook.Sheets.Add after:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)
Anstelle des Querytables wuerde ich mit ADO auf nen Recordset greifen
und den mit copy from recorset in A1 einfuergen...
Nen guten Anfang fuer ADO und vba findest du hier:
http://www.erlandsendata.no/english/index.php?t=envbadac
Bye
Nike
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige