Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige