Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 2185 beim auto leeren von Textboxen

Laufzeitfehler 2185 beim auto leeren von Textboxen
Textboxen
Hallo, ich habe folgendes Problem:
ich habe ein Excel-Sheet mit bis zu 100 verschiedenen Textboxen. Jetzt habe ich einen Button erstellt, um damit den Inhalt der Textboxen zu leeren. Dem Button liegt folgender Code zu Grunde:
Private Sub CommandButton2_Click()
Dim o As OLEObject
For Each o In ActiveSheet.OLEObjects
If Left(o.Name, 7) = "TextBox" Then o.Object.Value = vbNullString
Next o
End Sub

Jetzt habe ich aber auch eine Textbox, in welcher ich die Anzahl der zu schreibenden Zeilen _ eingeschränkt habe. Folgender Code:

Private Sub TextBox9_Change()
Static strTXT1Save As String
If TextBox9.LineCount > 20 Then
MsgBox "Nur 20 Zeilen erlaubt!", , TextBox9.LineCount
TextBox9.Value = strTXT1Save
Else
strTXT1Save = TextBox9.Value
End If
End Sub

Wenn ich jetzt den Button betätige, um die Textboxen zu löschen, erscheint folgender Fehler:
Laufzeitfehler 2185: Eigenschaft LineCount konnte nicht abgerufen werden. Das Steuerelement muss den Fokus haben. Setzen Sie mit Hilfe der SetFocus-Methode den Fokus auf das Steuerelement, bevor Sie auf diese Eigenschaft oder Methode verweisen.
Wäre super wenn mir jemand erklären könnte, wie ich dieses Problem umgehen kann.
Vielen Dank im voraus.
Arno
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Laufzeitfehler 2185 beim auto leeren von Textboxen
24.08.2010 17:59:54
Textboxen
Hallo
Weil du mit dem löschen das Change-Ereignis auslöst
probiers mal so
Private Sub CommandButton2_Click()
Dim o As OLEObject
Application.enableevents = False
For Each o In ActiveSheet.OLEObjects
If Left(o.Name, 7) = "TextBox" Then o.Object.Value = vbNullString
Next o
Application.enableevents = True
End Sub
Gruss Rainer
Anzeige
AW: Laufzeitfehler 2185 beim auto leeren von Textboxen
24.08.2010 18:19:57
Textboxen
HAllo
Meines Wissens nach greift Application.EnableEvents nicht bei OLE-Objects.
Da geht das glaube ich nur mit einer Public Variablen...
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit
Dim bol As Boolean


Private Sub CommandButton1_Click()
Dim o As OLEObject
bol = True
For Each o In ActiveSheet.OLEObjects
    If Left(o.Name, 7) = "TextBox" Then o.Object.Value = vbNullString
Next o
bol = False
End Sub


Private Sub TextBox1_Change()
If bol = False Then
    MsgBox "Check"
End If
End Sub


ransi
Anzeige
AW: Laufzeitfehler 2185 beim auto leeren von Textboxen
25.08.2010 08:57:50
Textboxen
Hallo zusammen, danke für eure raschen Antworten.
Leider funktioniert es doch noch nicht ganz, auch nicht mit der öffentlichen Variablen .. Wenn ich da die Linecount-Abfrage in das Textbox1_Change mit einbaue, tritt der Laufzeitfehler immer noch auf.
:)
Arno
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige