Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Laufzeitfehler nach jedem 2. Öffnen
#1
Morgen,
ich habe eine Excel Suchtabelle gebastelt die nach jedem zweitem Öffnen einen Laufzeitfehler 438 verursacht. Speicher ich sie dann ab und öffne sie erneut läuft alles tadellos. Bei erneutem Speichern und Öffnen kommt der Fehler wieder usw. Irgendwas läuft beim Öffnen ab was ich nicht verstehe. Finde dazu auch nichts im Netz. Deshalb wende ich mich jetzt an euch. Vielleicht habt ihr einen Tipp. Anbei eine Testdatei
LG


Angehängte Dateien
.xlsm   testtabelle.xlsm (Größe: 104 KB / Downloads: 8)
Antworten Top
#2
Hallo Silvi20,

tausche folgende Vba-Zeile aus:
ActiveWorkbook.Worksheets("Start").TextBox1.Visible = True
gegen
ActiveWorkbook.Worksheets("Start").OLEObjects("TextBox1").Visible = True

Die Direktansprache ' Worksheets("Start").TextBox1' hat so seine Tücken denn es ist ja 1 ActiveX-Steuerelement.

Gruß von Luschi
aus klein-Paris
Antworten Top
#3
Vielen Dank. So läuft es.
Antworten Top
#4
Hallo nochmal,
eine Frage habe ich noch. Würde gerne nach öffnen der Beispieldatei das man direkt eine Eingabe in dem Suchfeld machen kann ohne es vorher noch anzuklicken. Wenn ich aber jetzt bei dem Sub 'Workbook_Open' folgende Zeile eingebe:  'ActiveWorkbook.Worksheets("Start").OLEObjects("TextBox1").Activate'   kommt die Fehlermeldung Laufzeitfehler 1004 Die Quellanwendung des eingebetteten Objects kann nicht gestartet werden.
Vielleicht hat jemand noch einen Tipp
LG
Antworten Top
#5
(18.11.2024, 19:23)Silvi20 schrieb: Hallo nochmal,
eine Frage habe ich noch. Würde gerne nach öffnen der Beispieldatei das man direkt eine Eingabe in dem Suchfeld machen kann ohne es vorher noch anzuklicken. Wenn ich aber jetzt bei dem Sub 'Workbook_Open' folgende Zeile eingebe:  'ActiveWorkbook.Worksheets("Start").OLEObjects("TextBox1").Activate'   kommt die Fehlermeldung Laufzeitfehler 1004 Die Quellanwendung des eingebetteten Objects kann nicht gestartet werden.
Vielleicht hat jemand noch einen Tipp
LG

Ich denke hier geht einiges schief Smile
Ich vermute mal dass es TextBox 1 und nicht TextBox1 ist. Besser selbst benennen.
Probier mal

Code:
Private Sub Workbook_Open()
Dim s As Shape
ThisWorkbook.Worksheets("Start").Activate ' Stelle sicher dass das Blatt auch aktiv ist
Set s = ThisWorkbook.Worksheets("Start").Shapes("TextBox 1") ' oder doch TextBox1 - ich bezweifele es besser selbst benennen
s.TextFrame2.TextRange.Select ' Und jetzt der ganze Zauber
End Sub
Antworten Top
#6
Hallo
Die TextBox1 heißt wirklich TextBox1 und ist ein ActiveX Steuerelement, keine Form (Shape). Ich denke das klappt nicht weil durch das Öffnen der Excel-Datei auch andere Makros ausgelöst werden. Hätte mir also den Klick in die Textbox gespart, aber es gibt schlimmeres. Trotzdem danke
LG Silvi
Antworten Top
#7
Hallo

weil mich die Sache technisch interessiert hat habe ich es einmal nachgestellt.
Bei mir klappt Workbook_Open NUR mit diesem Code, aber so einwandfrei:

Private Sub Workbook_Open()
    MsgBox Sheets("Tabelle1").TextBox1.Text
End Sub

mfg Gasdst 123
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste