Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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

Leere Textboxen

Leere Textboxen
23.10.2015 12:46:48
PQuest:-)
Hallo,
ich schreibe aus einem UF Daten in eine Tabelle zurück.
Private Sub cmdSave_Click()
'Übertragen der Daten in Tabelle
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
If lngLastRow = 8 And IsEmpty(Cells(8, 1).Value) Then lngOffset = 0 Else lngOffset = _
1
.Cells(lngLastRow + lngOffset, 1) = cbPatID
.Cells(lngLastRow + lngOffset, 2) = txtPatName
.Cells(lngLastRow + lngOffset, 3) = "Agegroup?"
For lngIndex = 1 To 16
If IsEmpty(.Controls("TextBox" & CStr(lngIndex))) Then
.Cells(lngLastRow + lngOffset, 3 + lngIndex).Value = ""
Else
.Cells(lngLastRow + lngOffset, 3 + lngIndex).Value = CDate(Controls(" _
TextBox" & CStr(lngIndex)).Text)
End If
Next
End With
cmdCancel.Value = True
End If
End Sub
Ich möchte, dass leere Textfelder ignoriert werden bzw. die entsprechenden Tabellenzellen leer bleiben.
Leider steigt mir der Code hier:
If IsEmpty(.Controls("TextBox" & CStr(lngIndex))) Then .Cells(lngLastRow + lngOffset, 3 + lngIndex).Value = ""
immer mit Laufzeitfehler 438 'Objekt unterstützt diese Eigenschaft oder Methode nicht' aus.
Wer weiss Rat?
Gruß,
PQuest:-)

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Textboxen
23.10.2015 12:51:53
Rudi
Hallo,
If LEN(.Controls("TextBox" & CStr(lngIndex)))) = 0 then
Gruß
Rudi

AW: Leere Textboxen
23.10.2015 13:36:31
PQuest:-)
Hallo Rudi,
Code geändert, aber Fehlermeldung bleibt die Gleiche. Das kann jetzt aber nicht mit einem vorhandenen Klassenmodul zu tun haben, oder?
Hier das Klassenmodul...
Option Explicit
Private WithEvents mobjTextBox As MSForms.TextBox
Private WithEvents mobjImage As MSForms.Image
Private Sub Class_Terminate()
Set TextBox = Nothing
Set Image = Nothing
End Sub
Friend Property Get TextBox() As MSForms.TextBox
Set TextBox = mobjTextBox
End Property
Friend Property Set TextBox(ByRef probjTextBox As MSForms.TextBox)
Set mobjTextBox = probjTextBox
End Property
Friend Property Get Image() As MSForms.Image
Set Image = mobjImage
End Property
Friend Property Set Image(ByRef probjImage As MSForms.Image)
Set mobjImage = probjImage
End Property
Private Sub mobjImage_Click()
Call SF_DatePick.DatePickinCtl(TextBox, , "en", "en", True)
End Sub

Private Sub mobjTextBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call SF_DatePick.DatePickinCtl(TextBox, , "en", "en", True)
End Sub

Gruß,
PQuest:-)

Anzeige
AW: Leere Textboxen
23.10.2015 13:49:10
Daniel
Hi
welches Objekt hast du denn in der WITH-Klammer definiert ?
If IsEmpty(.Controls("TextBox" & CStr(lngIndex))) Then .Cells(lngLastRow + lngOffset, 3 + lngIndex).Value = ""

du referenzierst hier 2x auf das Objekt der With-Klammer.
nur müsste das im ersten fall bei .controls eine Userform sein, im zweiten Fall bei .Cells aber ein Tabellenblatt.
Da es aber immer nur ein WITH-Objekt gleichzeitig geben kann, muss einer der beiden Fälle einen Fehler ausgeben.
dh du musst erstmal schauen, was du als WITH-Objekt definert hast und für den anderen fall das Objekt direkt angeben.
Gruß Daniel.
PS: warum nicht einfach: if me.Controls("TextBox" & lngIndex).Text = "" Then...

Anzeige
AW: Leere Textboxen
23.10.2015 14:25:50
PQuest:-)
Daniel du altes Adlerauge :-)
Danke für den Hinweis mit der Referenzierung. Die With_Anweisung verweist auf das Tabellenblatt, das die Daten aufnehmen soll. Somit fehlte tatsächlich das ME vor dem Control
Besten Dank, wieder was gelernt und wieder ein Problem gelöst.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige