Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeitfehler

Laufzeitfehler
12.05.2007 09:46:30
Bernd Cramer


Ich verwende in einer Userform eine Combobox, die Begriffe werden in der Tabelle Daten Spalte A gespeichert. Neue begriffe wollte ich mittels Schaltfläche mit folgendem Code hinzufügen :


Private Sub Cobvorgang_AfterUpdate()
Dim arow, i As Long
Sheets("Daten").Activate
Application.EnableEvents = False
With Me.Cobvorgang
.Clear
arow = [A65536].End(xlUp).Row
For i = 1 To arow
.AddItem Cells(1, 1) & ", " & Cells(1, 2)
Next i
.ListIndex = 0
End With
Application.EnableEvents = True
End Sub


Dabei erhalte ich folgenden Fehler:
Laufzeitfehler '-2147467259(8004005)'
Wer weiß den Ausweg

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler
12.05.2007 10:05:58
Gerd L
Hallo,
diesen Prozedurkopf kannst nur für die Combobox selbst verwenden, nicht für eine zusätzliche
Schaltfläche.
Mache im VBA-Editor im Entwurfsmodus einen Doppelklick auf deine Schaltfläche u. schreibe
deinen Code da rein.
Gruß Gerd

AW: Laufzeitfehler
12.05.2007 10:12:25
Bernd Cramer
Sorry der Prozedurkopf stammt aus dem Versuch die Aktion nach dem Update der Combobox auszuführen. Auf der seperaten Schaltfläche ist der Prozeduraufruf natürlich Private sub einträgehinzufügen().
Die Fehlermeldung bleibt die gleiche.
Gruß Bernd

AW: Laufzeitfehler
12.05.2007 11:06:19
Gerd L
Hallo Bernd,
ungetestet.


Private Sub einträgehinzufügen()
Dim arow, i As Long
Application.EnableEvents = False
With Me.Cobvorgang
.Clear
arow = Sheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
For i = 0 To arow-1
.AddItem Sheets("Daten").Cells(i+1, 1).Text & ", " & Sheets("Daten").Cells(i+1, 2). _
Text
'oder: .AddItem cstr(Sheets("Daten").Cells(i+1, 1).value) & ", " & cstr(Sheets("Daten").Cells(i+ _
1, 2).value)
Next i
.ListIndex = 0
End With
Application.EnableEvents = True
Sheets("Daten").Activate
End Sub


Gruß Gerd

Anzeige
AW: Laufzeitfehler
12.05.2007 11:12:25
Gerd L
Ach so ja,
falls Schaltfläche nicht auf der Userform oder Code nicht im Userform-Modul,
dann bitte noch "Me" durch den Userform-Namen ersetzen.
Gerd

AW: Laufzeitfehler
12.05.2007 11:23:43
Bernd Cramer
Danke Gerd. Schaltfläche ist auf der Userform.
Die Prozedur stürzt bei .Clear ab.
Der Code wie ich Ihn zuerst hatte stammt von einem Freund auf Excel 2000. Dort läuft er. Ist es vielleicht ein Problem mit Excel 2003?

AW: Laufzeitfehler
12.05.2007 12:17:19
Erich G.
Hallo Bernd,
hast du vor .Clear ml einen Haltepunkt gesetzt und dann mit F8 schrittweise verfolgt,
was dann passiert?
Noch eine Testmöglichkeit:
Ich habe das, was ich gelesen habe, mal in etwa (mit Excel XP) nachgebaut. Läuft das bei dir?
https://www.herber.de/bbs/user/42444.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Laufzeitfehler
12.05.2007 12:28:13
Bernd Cramer
Mit Haltepunkt gibt den gleichen Fehler . Sofort beim Drücken auf F( stürzt das Makro ab.
Den Code unter der Adresse habe ich mal probiert funktioniert. Muss ich mir heute nachmittag mal genauer ansehen.

AW: Laufzeitfehler
12.05.2007 12:44:14
Bernd Cramer
Hallo Erich
ich habe die Beispielprozedur allein ausgeführt hat funtkioiniert ohne Absturz. Aber die Prozedor holt die Daten in die Combobox.
Ich habe Daten in der Combobox. In der Eigenschaften der Combox ist definiert wo die Daten stehen. Nun ist es aber so, das die Begriffsauswahl nicht ausreicht und ein neuer Eintrag hinzugefügt werden soll.
Cobobox leeres Datenfeld "neuen Begriff eintragen oder angezeigten Ändern.
Mit dem Klick auf die Schaltfläche soll Begriff in die Datenliste und in die Combobox aufgenommen werden.
Gruß Bernd

Anzeige
AW: Laufzeitfehler
12.05.2007 12:46:21
Bernd Cramer
Zur Zeit mache ich es so:
Dim arow, i As String
Application.EnableEvents = False
With Sheets("daten")
.Activate
arow = Trim(Str(.Range("A65536").End(xlUp).Row))
.Range("A" & arow).Value = Cobvorgang
.Columns(1).Sort key1:=.Range("A1"), Order1:=xlAscending, header:=xlNo
End With
Sheets("konto").Activate
Application.EnableEvents = True

AW: Laufzeitfehler
12.05.2007 11:20:01
Bernd Cramer
Wie ich vorher schon hatte. Der Code läuft bis .Clear . Dann stürzt das Makro ab.

AW: Laufzeitfehler
12.05.2007 12:13:12
Gerd L
Hallo Bernd,
falls dieses Teil(xl2000) bei Dir nicht läuft, was ich aber nicht glaube, gäbe es tatsächlich einen Versionsunterschied.
https://www.herber.de/bbs/user/42443.xls
Gruß Gerd

Anzeige
AW: Laufzeitfehler
12.05.2007 12:16:30
Bernd Cramer
Es läuft bei xl 2000 und bie xl 2003 läuft es nicht.

AW: Laufzeitfehler
12.05.2007 12:23:59
Gerd L
Hallo,
ich stelle mal auf noch offen, damit jemand mit 2003 ggf. sich dies nochmal anschaut.
Habe leider 03 nicht zur Verfügung.
Gruß Gerd

AW: Laufzeitfehler
12.05.2007 20:32:04
Roland Hochhäuser
Hallo Bernd,
der Fehler liegt nicht im Makro. Wenn du die Combobox bereits vorher mit rowsource gefüllt hattest (unterstelle ich mal), kannst du sie nicht mit clear leeren. M.a.W.: du musst dich entscheiden, wie du die Combobox füllst, entweder mit rowsource, dann aber bei änderungen (nur) die rowsource ändern oder mit additem, dann bei änderungen mit clear ggfs. leeren und dann mit additem den (ganzen) Schrammel noch mal reinholen. Eine Kombi geht nicht und führt zum o.a. Fehler.
Einen schönen Restsamstag aus Berlin
Roland Hochhäuser

Anzeige
AW: Laufzeitfehler
13.05.2007 12:25:44
Bernd Cramer
Hallo Roland,
danke für Deine Info. Das kann natürlich das Problem sein.
Also werde ich mich entscheiden.
Gruß
Bernd
Aus Halle/Saale

AW: Laufzeitfehler
13.05.2007 19:32:13
schauan
Hallo Bernd,
wie Roland schon schreibt:
ComboBox1.RowSource = "" zum leeren, anschliessend könntest Du auch mit den AddItems und Clear usw. arbeiten - also auch kombiniert.
oder
ComboBox1.RowSource = "Tabelle1A1:A" & Sheets("Tabelle1").Cells(Rows.Count,1).end(xlup).row
für ein flexibles Ende wenn den unter der rohen soße in Spalte A nix anderes steht ...
Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003

Anzeige
AW: Laufzeitfehler
14.05.2007 08:51:16
Bernd Cramer
Danke Andrea,
auch du hast mir geholfen.
Gruß
Bernd
Halle/Saale

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige