Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1172to1176
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
Inhaltsverzeichnis

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

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige