Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1112to1116
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
Fehler "Typen unverträglich" beim Öffnen
Universal
Hallo Leutz,
ich bin mal wieder am verzweifeln ... ich meine, ich hab alles überprüft und versucht um den im Betreff genannten Fehler zu beheben - leider ohne Erfolg. Vielleicht habt ihr eine Idee ...
Ich habe eine Excel-Mappe mit zwei Arbeitsblättern. Blatt 1 ist das "Front-End" für den User und das Blatt 2 enthält die Daten (Name, Telefonnummer & Kommentar). Blatt 2 ist versteckt und für den Benutzer unsichtbar.
Wenn ich diese Arbeitsmappe öffne, wird eine ListBox, die sich im Blatt 1 befindet mit allen Werten von Blatt 2 gefüllt. Bei diesem "Befüllen" tritt nun das Problem auf. Wenn ich eine völlig neue Excel-Instanz öffne, funktioniert das Füllen der ListBox ohne Probleme. Wenn ich es jedoch (wie vorgesehen) über einen Button in einer bereits laufenden Excel-Instanz öffne bekomme ich die Fehlermeldung "Laufzeitfehler -2147352571 (80020005): Typen unverträglich."
Mir sind nun die Ideen ausgegangen. Ich habe mit den Tabellen- und Blattnamen gearbeitet und auch die Indezes ausprobiert. Die Meldung bleibt. Könnte man vielleicht über VBA eine neue Excel-Instanz öffnen und dann meine Arbeitsmappe öffnen? Dies wäre - so meine ich - eine Zwischenlösung.
Hier mein Code, der beim Öffnen der Mappe ausgeführt wird:

Private Sub Workbook_Open()
Count = Application.CountA(Sheets(2).Range("A2:A65536")) + 1
Sheets(1).Range("A2:C2").Clear
Sheets(2).Columns("A:C").EntireColumn.AutoFit
With Sheets(1)
.Columns("A:A").ColumnWidth = Sheets(2).Columns("A:A").ColumnWidth
.Columns("B:B").ColumnWidth = Sheets(2).Columns("B:B").ColumnWidth
.Columns("C:C").ColumnWidth = Sheets(2).Columns("C:C").ColumnWidth
End With
For Each Werte In Sheets(2).Range("A2:A" & Count)
Sheets(1).lstNumbers.AddItem Werte         '

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Fehler "Typen unverträglich" beim Öffnen
28.10.2009 13:20:12
Rudi
Hallo,
1. Count ist eine Eigenschaft und sollte nicht als Variablenname verwendet werden.
2. Immer alle Variablen deklarieren.
Teste mal:
Private Sub Workbook_Open()
Dim lCount As Long
lCount = Application.CountA(Sheets(2).Range("A2:A65536")) + 1
Sheets(1).Range("A2:C2").Clear
Sheets(2).Columns("A:C").EntireColumn.AutoFit
With Sheets(1)
.Columns("A:A").ColumnWidth = Sheets(2).Columns("A:A").ColumnWidth
.Columns("B:B").ColumnWidth = Sheets(2).Columns("B:B").ColumnWidth
.Columns("C:C").ColumnWidth = Sheets(2).Columns("C:C").ColumnWidth
End With
Sheets(1).lstNumbers.List _
= WorksheetFunction.Transpose(Sheets(1).Range("A2:A" & lCount))
End Sub

Gruß
Rudi
Anzeige
AW: Fehler "Typen unverträglich" beim Öffnen
29.10.2009 10:00:50
Universal
Hi Rudi,
danke dir! Die ListBox wird nun gefüllt. Leider tritt nun ein neues Problem auf. Wenn ich doppelt auf einen Wert in der ListBox klicke, soll eine UserForm geladen werden - natürlich mit den dazugehörigen Daten. Mit "meiner Version" hat das wunderbar funktioniert. Jetzt bekomme ich die Fehlermeldung:
Run-time error xyz ... Could not set the Value property. Type mismatch.
Vielen Dank für deine / eure Hilfe!!!
Anbei mein Code
Private Sub lstNumbers_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With usfPhoneNumbers
.lblHeader = "Edit an existing entry"
.Caption = "Edit an existing entry"
.txtName = Sheets(2).Cells(Sheets(1).lstNumbers.ListIndex + 2, 1)   '

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige