341 Aufrufe
Gefragt in Tabellenkalkulation von k-siebke Einsteiger_in (81 Punkte)

Hallo Liebes Fohrum, hir ist wider der VBA anfänger Ich habe zwei TextBoxen in Tabelle1 mit den ich werte in Tabelle3 eintrage in Spalte A und B.

Wen ich beide TextBoxen mit Angaben fühle werden die werte auch ordnungsgemäß ein Angabe nach er anderen untereinander in die Tabelle eingetragen und ein Zeit-Stempel erzeugt. Leider funktioniert es nicht wen ich nur eine TextBox fühle dann werden die Angaben nicht korrekt untereinander in die Tabelle eingetragen und kein Zeit-Stempel erzeugt. daher möchte ich gerne, dass die TextBoxen vor der Eingabe gehüpft werden ob sie lehr sin, und wen sie lehr sind in die Spalten entsprechend eine null eingetragen wird als Platzhalter

https://supportnet.de/forum/?qa=blob&qa_blobid=9722576339002154594

mein Ansatz: Die Abfrage (Blau) habe ich im Internet gefunden Leider funktioniert es nicht wie gedacht da Fehler angezeigt werden 

    .Cells(lfreerow, 1) = Worksheets("Tabelle1").Shapes("TextBox5").OLEFormat.Object.Object.Value
    .Cells(lfreerow, 2) = Worksheets("Tabelle1").Shapes("TextBox6").OLEFormat.Object.Object.Value
    
With Cells(Zeile, Spalte)
If IsNumeric(Me.TextBox5) Then
.Value = CDbl(Me.TextBox5)
ElseIf Me.TextBox5 = "" Then
.Value = 0
Else
MsgBox "Keine nummerische Eingabe in Textbox5"
Exit Sub
End If
End With


With Cells(Zeile, Spalte)
If IsNumeric(Me.TextBox6) Then
.Value = CDbl(Me.TextBox6)
ElseIf Me.TextBox6 = "" Then
.Value = 0
Else
MsgBox "Keine nummerische Eingabe in Textbox6"
Exit Sub
End If
End With
    

End With
End Sub

   Sub Leeren()
Worksheets("Tabelle3").Range("A2:A1000,B2:B1000,D2:D1000").ClearContents

18 Antworten

0 Punkte
Beantwortet von k-siebke Einsteiger_in (81 Punkte)
schade das es keine Antwort hir gab
0 Punkte
Beantwortet von m-o Profi (21.8k Punkte)
Hallo,

du nutzt die Textboxen aus den Formularsteuerelementen. Diese kannst du nicht mit Me.Textbox6 ansprechen.

Ich würde die Textboxen aus den ActiveX-Steuerelementen nutzen.

Wo sind den deine Textboxen 5 und 6?

Gruß

M.O.
0 Punkte
Beantwortet von k-siebke Einsteiger_in (81 Punkte)
Hallo da da es lange keine Antwort gab hat sich auch meine Tabelle Weiter Entwikelt aber das Problem ist immer noch der selbe auch wen sich jetzt alles in der User Fom befindet

die TextBoxsen sind jetzt Textbox28,Textbox29
0 Punkte
Beantwortet von m-o Profi (21.8k Punkte)
Hallo,

dann stelle doch mal eine neue Beispieltabelle zur Verfügung.

Gruß

M.O.
0 Punkte
Beantwortet von

Hir mal die Aktuelle Veränderte Datei als UserFrom mit dem alten/neuen Problem

https://supportnet.de/forum/?qa=blob&qa_blobid=7570205881024642871

0 Punkte
Beantwortet von m-o Profi (21.8k Punkte)
Hallo,

wo soll denn die Prüfung stattfinden? Bei Klick auf den Button "Dokument speichern? Da ist aber noch kein Code hinterlegt. Du weisst ja der Textbox 28 den Wert "" und der Textbox 29 den Wert 1 zu. (Übergeben_Click). Ggf. solltest du schon die Zuweisung der Textbox 28 in 0 ändern, wenn du eine Prüfung wie in deiner Frage willst.

Gruß

M.O.
0 Punkte
Beantwortet von
Drücken sie in Tabelle3 die Befehls Schaltfläche „23188345“, es Öffnet sich di User Form (Klärfälle). Nun gehen sie zum Fram1“ Leistung pro Stunde“, nun Gebe sie in texbox28(SKU/Produckt ) und 29  (Art.Mg. ) in Fram1“ Leistung pro Stunde einen  beliebigen Zahlenwet in die texBoxsen  und Drücken dann Enter

Wie in meiner Beschreibung zuvor erwähnt handelt es sich bei mir um Die Texboxsen28 und 29!! In Fram4“ ResetTabelle3“ kann also kein Prüfung Stattfinden da sich dort keine TextBoxen befinden zumal wie zusehen ist es sich nicht um ein Eingabe Bereich handelt, sondern um das zurücksetzen und Speichern der Tabelle- sogar mit Beschreibung. CommandButton3“ Dokument Speichern u. Schließen“ war zu diesem Zeitpunkt och nicht mit einer Funktion belegt da es noch in der Entstehungsfase befand und zu diesem Zeitpunkt nicht relevant war  

Es spielt keine Rolle ob in der Box eine Zahl steht es geht mir darum das egal welche TextBox ich befülle und an die Tabelle übergebe, geprüft wird vorher ob in der Zeile A bis D schon Eingabe erfolgt Ist, stehen schon angaben in der Zeile so sol die Nässte Eingabe in der Nesten Zeile erfolgen, unabhängig welsche TextBox ich dafür nutze. Das Problem liegt daran das momentan ein Zell Prüfung verwendet wird und nicht eineZeillen Prüfung(A bis D) weshalb leider angaben gelöscht werden und die aktuelle TextBox Angabe eingetragen Wirt da ja die Jeweilige Zelle als Lehr identifiziert wird bei der Eingabe.

Ich hoffe ich war ausführlich genug und konnte so gut es geht mein Anliegen schildern
0 Punkte
Beantwortet von
sorry für Die Rechtschreibfehler bzw. Satzstellungen da ich leider Rechtschreiblegastheniker bin
0 Punkte
Beantwortet von m-o Profi (21.8k Punkte)

Hallo,

das ist aber jetzt etwas völlig anderes, als in der ursprünglichen Frage.

Wenn du die erste freie Zeile in der Tabelle 3 ermitteln willst dann so:

Sub FreieZeile()

Dim lngFreieZeile As Long

'letzte beschriebene Zeile in Spalte A wird ermittelt
lngFreieZeile = ThisWorkbook.Worksheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row + 1

MsgBox "Die nächste freie Zeile ist die Zeile " & lngFreieZeile

End Sub

Das müsste dir eigentlich reichen, denn wenn in Spalte A etwas steht brauchst die übrigen Spalten nicht mehr zu prüfen. Falls doch, dann melde dich noch einmal, dann muss das über eine Schleife lösen.

Gruß

M.O.

0 Punkte
Beantwortet von
Ja ich will auch spalte A bis D prüfen
...