Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler in der vbe6.dll

Fehler in der vbe6.dll
10.02.2004 09:38:06
Alex
Hallo zusammen,
beim Starten einer Userform bekomme ich ab und zu die Excel-Fehlermeldung das ein Problem in der vbe6.dll besteht. Excel wird darauf hin runtergefahren. Die Fehlermeldung bekomme ich nicht immer, es fällt keine Regelmäßigkeit auf oder so.
Hat jemand eine Idee. Ich mach da jetzt schon seit Tagen dran rum.
Gruß Alex

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 09:46:17
Alex K.
HAllo Alex,
lade am besten mal deine Excel-DAtei mit den UF hoch bzw. stelle hier mal den Code ein. Kann sein, dass dein Code in einer bestimmten Konstellation einen Absturz verursacht.
AW: Fehler in der vbe6.dll
10.02.2004 09:53:16
Alex
Hy
N ist ein Name aus einer anderen Userform Startmaske
Bereich wird der ausgewählte Name im Excelsheet gesucht
und der Key ist einfach ein Passwort das hinter dem namen steht.
Auf der Userform danach sind halt 365 ToggleButtons drauf. Auf denn dann Bei 1 Click U für Urlaub und G für Gleitzeit steht. Und sobald man einen Button ab September betätigt kommt die Fehlermeldung.

Danke im Vorraus.


Private Sub Ueintragen_Click()
Dim N, zeile, Bereich, Key
N = Startmaske.MANamen
Do While N <> ""
With Worksheets("Daten").Range("A4:A400")
Set Bereich = .find(N)
End With
zeile = Bereich.Row
Key = InputBox(prompt:="Bitte geben Sie Ihren USER-KEY ein:")
Do While Key <> ""
If Key = Sheets("Daten").Cells(zeile, 8) Then   'Zelle markieren
Worksheets("Daten").Cells(1, 33) = zeile
Worksheets("Daten").Cells(1, 24) = N
Worksheets("Daten").Cells(1, 23) = Worksheets("Daten").Cells(zeile, 3)
Else
MsgBox ("Falscher User-Key überprüfen Sie Ihre Eingabe!")
Exit Sub
End If
abfrage1 (N)
UserForm2.Show
Exit Sub
Loop
MsgBox ("Sie müssen einen Key eingeben !")
Exit Sub
Loop
MsgBox ("Sie müssen einen Mitarbeiter Auswählen !")
End Sub

Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 10:20:42
Alex K.
Hallo Alex,
hier ein paar Korrekturvorschläge:
1) Abfragen, ob mit N etwas gefunden wurde:

With Worksheets("Daten").Range("A4:A400")
Set Bereich = .find(N)
if Bereich is nothing then
MsgBox "Nicht gefunden: " & N
exit sub
end if
End With

2) Warum die Do-While Schleifen. Du verlangst schliessliche keine neue Eingabe. Also hier mit IF arbeiten:

N = Startmaske.MANamen
if N = "" then
MsgBox "Sie müssen ...."
exit sub
end if

Analog hierzu die Schleife für den "Key" ändern.
Hast du eine Konstellation herausgefunden, in der dein Excel abstürtzt? Z.B. wenn einer der abgefragten Zellen leer ist?
Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 10:27:45
Alex
Nein, leider nicht.
leere Zeilen las ich gar nicht zu.
Hab aber bemerkt, das wenn die VBA Umgebung läuft der Fehler nicht auftritt. Kann ich VBA über den gleichen Button im Hintergrund starten?
Oder Könnte sogar der Button zu Aufrufen selber schuld sein?
Werde aber deine Vorschläge erst mal umsetzen.
Danke, Dir
(Hatte vorher alles mit if und dachte das er da evt. ein Fehler macht.)
AW: Fehler in der vbe6.dll
10.02.2004 10:37:41
Alex K.
Hallo Alex,
wenn ich dich richtig verstanden habe, läuft das Makro, wenn du es direkt im VBA Editor startest. Wenn du es aber über eine Schaltfläche aus einer Excel-Arbeitsmappe startest, dann schmiert es ab?
Probiere doch mal, das Makro in der Arbeitsmappe über "Extras -> Makros ..." zu starten. Was passiert dann? Wenn es dann läuft, liegt es tatsächlich am "Button".
Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 10:50:03
Alex
Der button liegt leider auf einer Userform die über den ganzen Bildschirm geht. sieht so aus
Userbild

Das Macro selber ist dan im Formular darf es da nicht sein?
Und wie gesagt läuft die VBA Umgebung im Hintergrund geht alles über die Buttons im Excel.
AW: Fehler in der vbe6.dll
10.02.2004 10:53:29
Alex K.
Hallo Alex,
dazu fällt mir spontan auch nichts ein. Hast du mal mit Start über Menü "Extras -> MAkros" und VBA geschlossen versucht?
AW: Fehler in der vbe6.dll
10.02.2004 11:00:00
Alex
Da steht das Makro Urlaubeintragen() nicht drin, weil ich das nicht in Modulen sondern in Formularen drin steht hab. Und da komm ich irgendwie nicht ran.
Kann man die VBA Umgebung starten über Makro?
Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 11:08:32
Alex K.
Hallo Alex,
du MUSST an das Makro rankommen. Sonst kannst du es auch nicht über eine Schaltfläche aufrufen. Denn du musst deiner Schaltfläche das Makro ja zugewiesen haben. Und diese Zuweisung ruft den gleichen Dialog auf wie "Extras -> Makros". Oder wie hast du dein Makro der SChaltfläche zugewiesen?
AW: Fehler in der vbe6.dll
10.02.2004 11:17:02
Alex
Hallo
Also ich hab die erste Userform(mit dem Winterbild) gemacht und da den Button drauf. Wenn ich dann "rechte Maustaste->Code anzeigen" gehe kann ich dann das Makro schreiben. Sollte man das so nicht machen?????
Hab den Code aber umgeschrieben und starte jetzt über "Extras->Makro". Da kommt der Fehler aber auch. Die Userform die dann gestartet wird durchläuft auch noch ein Makro. Darf ich Dir das auch noch mal zeigen?
Evt. liegt es ja dann da?
Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 11:26:16
Alex K.
Hallo Alex,
nein, dein Weg ist schon richtig. Ich hatte dass mit der Formular-Schaltfläche verwechselt. Diese geht über Makro zuweisen. Du hast aber einen Toolbox-Button verwendet. Der geht über "Code anzeigen".
Also am Besten lädst du mal die ganze Datei hoch, dann ist es für mich einfacher, das Ganze mal zu testen. Ich hoffe nur, es läuft bei mir, ich habe nämlich Office 2000.
AW: Fehler in der vbe6.dll
10.02.2004 11:41:47
Alex
Ich kann die leider nicht schicken die Firewall lässt die hier nicht raus. Aber evt. kannst Du mal einen Blick auf das nächste Makro machen. Wäre super ich mach ein Bild davon.

Mercy, so sieht die Userform aus mit makro
Die Suche am Ende geht ein Worksheet nach dem anderen ab von Januar bis Dezember und beschriftet die button ggf. neu.
Userbild

Private Sub CommandButton1_Click()
Dim TN, gefunden, zeile
Urlaub_Kontolle
TN = UserForm2.Kal_Name
With Worksheets("Daten").Range("A3:A500")
Set gefunden = .Find(TN)
End With
zeile = gefunden.Row
UserForm2.Hide
Jahresplanung
End Sub


Private Sub MultiPage1_Change()
Dim zeile
Dim y, x, m, z, c
zeile = Worksheets("Daten").Cells(1, 33)
With UserForm2
Select Case MultiPage1.Value
Case 0
y = 1
x = "31"
m = "Jan"
' Jan
Case 1
y = 2
x = "29"
m = "Feb"
' Feb
Case 2
y = 3
x = "31"
m = "Mär"
' Mär
Case 3
y = 4
x = "30"
m = "Apr"
' Apr
Case 4
y = 5
x = "31"
m = "Mai"
Case 5
y = 6
x = "30"
m = "Jun"
Case 6
y = 7
x = "31"
m = "Jul"
Case 7
y = 8
x = "31"
m = "Aug"
Case 8
y = 9
x = "30"
m = "Sep"
Case 9
y = 10
x = "31"
m = "Okt"
Case 10
y = 11
x = "30"
m = "Nov"
Case 11
y = 12
x = "31"
m = "Dez"
End Select
For z = 1 To x
c = Worksheets(m).Cells(zeile, 5 + z)        'Inhalt der Zelle
If c = "" Then
.Controls("ToggleButton" & z & "_" & y).Caption = z   'Dem Toggle den Wert geben
End If
If c <> "" Then
.Controls("ToggleButton" & z & "_" & y).Caption = z & "/" & c   'Dem Toggle den Wert geben
End If
Next z
End With
End Sub

Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 11:52:59
Alex K.
Hallo Alex,
zwei Sachen sind mir aufgefallen:
1)
With Worksheets("Daten").Range("A3:A500")
Set gefunden = .Find(TN)
End With
zeile = gefunden.Row
Auch hier wieder abfragen, wenn nichts gefunden wird:
With Worksheets("Daten").Range("A3:A500")
Set gefunden = .Find(TN)
if gefunden is nothing then
exit sub
end if
End With
zeile = gefunden.Row
2)
UserForm2.Hide
Jahresplanung
UserForm2.Hide rausnehmen, da diese Zeile des Makros nur erreicht wird, wenn Userform geschlossen wird. Also ist das Userform schon zu
3)
x = "31"
musst du in
x = 31
ändern, da du x als Ende für die die For-Next-Schleife verwendest. Un da muss x als Zahl definiert sein.
Anzeige
AW: Fehler in der vbe6.dll
10.02.2004 12:36:25
Alex
Ok probier ich mal. Danke Dir auf jedenfall. Hast mir echt weiter geholfen. Mercy
Ich hoffe, du bekommst es zum Laufe oT
10.02.2004 13:23:04
Alex K.
AW: Ich hoffe, du bekommst es zum Laufe oT
10.02.2004 13:27:26
Alex
Wenn nicht dann spring ich aus dem Fenster. Danke Dir noch mal, aber ich glaube es sind die Hochkommas.
spitzenmäßig deine Hilfe.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige