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: 7)
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


Gehe zu:


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