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

Datentypen definieren

Datentypen definieren
31.03.2019 22:34:55
benny124aka
Hallo zusammen,
ich würde gerne die Inhalte aus den TextBoxen(1 bis 16)(Zahlen und Buchstaben)
in der Ersten freien Zeile("Tabelle1") / TextBox1 = Spalte1, TextBox2 = Spalte2 usw. speichern.
In dem Code läuft es aber nicht so wie ich es gerne hätte.- ich glaub ich weiß auch warum. Komme Aber nicht auf die Lösung.
Wer kann helfen ?
Hier der Code und darunter die Datei:
'1Fügt die eingetragenen Werte ins Tabellenblatt und schließt die UserForm
Private Sub cmd_save_Click()
Dim cb As Control
Dim loZeile As Integer
loZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
For Each cb In Me.Controls
If TypeName(cb) = "TextBox" Then
Worksheets("Tabelle1").Cells(loZeile, cb) = cb.Value
End If
Next
Unload frm_erfassen
End Sub
https://www.herber.de/bbs/user/128795.xlsm
Gruß Benny

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datentypen definieren
31.03.2019 23:21:21
Werner
Hallo Benny,
hast du dir denn mal den Wert der Variablen cb angeschaut? Das ist der Inhalt der verschiedenen Textboxen und den setzt du einfach als Spaltenbezeichnung ein. Das kann ja nicht funktionieren.
Versuch mal so:
Private Sub cmd_save_Click()
Dim cb As Control, loZeile As Long, i As Long
loZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
i = 1
For Each cb In Me.Controls
If TypeName(cb) = "TextBox" Then
If IsNumeric(cb) Then
If IsDate(cb) Then
Cells(loZeile, i) = CDate(cb)
Else
Cells(loZeile, i) = CDbl(cb)
End If
Else
Cells(loZeile, i) = cb
End If
i = i + 1
End If
Next
Unload frm_Erfassen
End Sub
Gruß Werner
Anzeige
AW: Datentypen definieren
01.04.2019 21:04:35
benny124aka
Hallo Werner,
vielen Dank für deine Hilfe. Funktioniert schon fast so wie es soll.
Irgendwie werden aber noch Einträge vertauscht. Bsp. Spalte 6
(Lade später noch eine Datei hoch)
Woran kann das liegen ?
Gruß Benny
AW: Datentypen definieren
31.03.2019 23:21:23
onur

Dim cb As Control

und dann
Cells(loZeile, cb)
?
Du weisst, das das Müll ist und schreibst das trotzdem ?
AW: Datentypen definieren
01.04.2019 21:09:23
benny124aka
Hallo Onur,
Ich arbeite echt noch nicht lange bzw. häufig mit Excel oder VBA. Also verzeih mir wenn ich wenig Ahnung habe, bin aber lernwillig. Wenn du mir was erklären möchtest, dann sehr gerne :)
Das der Fehler an der Stelle der cb Variable war, war mir klar. auch was genau da gemacht wird. Meine Versuche stattdessen eine zweite Variable (i) zu erstellen sind leider gescheitert. Ich kannte die Controls Funktion und deren Möglichkeiten und Nötigkeiten nicht.
Gruß Benny
Anzeige
AW: Datentypen definieren
01.04.2019 21:14:34
onur
Nix für Ungut - Ich war nur irritiert, weil du schriebst: "In dem Code läuft es aber nicht so wie ich es gerne hätte.- ich glaub ich weiß auch warum". Habe mich gefragt;" Wenn er es doch weiss - wieso programmiert er das denn trotzdem?"
AW: Datentypen definieren
01.04.2019 23:16:52
benny124aka
Hey Onur,
Kein Problem. Kannst du denn vielleicht bei dem Problem helfen ? siehe Datei
https://www.herber.de/bbs/user/128831.xlsm
Habe den Code von Werner übernommen. Ab Textbox Nr.6 wird aber nicht mehr in der richtigen Reihenfolge gespeichert Ich verstehe nicht warum ?
Und warum wird manchmal linksbündig und manchmal rechtsbündig gespeichert ?
Gruß Benny
Anzeige
AW: Datentypen definieren
02.04.2019 09:59:15
Werner
Hallo Benny,
nimm den Code:
Private Sub cmd_save_Click()
Dim loZeile As Long, i As Long
loZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = 1 To 16
If IsNumeric(Me.Controls("Textbox" & i)) Then
If IsDate(Me.Controls("Textbox" & i)) Then
Cells(loZeile, i) = CDate(Me.Controls("Textbox" & i))
Else
Cells(loZeile, i) = CDbl(Me.Controls("Textbox" & i))
End If
Else
Cells(loZeile, i) = Me.Controls("Textbox" & i)
End If
Next i
Unload frm_Erfassen
End Sub
Und zur Frage rechtsbündig/linksbündig:
Texte werden standartmäßig linksbündig gesetzt
Zahlen und Datum standartmäßig rechtsbündig
Gruß Werner
Anzeige
AW: Datentypen definieren
02.04.2019 13:00:09
benny124aka
Hallo Werner,
vielen Dank. Jetzt Funktioniert es wie soll. Hast mir sehr geholfen.
Wie bekomme ich es denn hin das immer alles Linksbündig gespeichert wird ? wie lautet der Befehl ? Müsste ich ja in die Schleife mit einbauen können oder ?
Oder reicht eine "einfache" Formatierung der Zellen bzw. Spalten ?
Ich habe bestimmt in naher Zukunft öfter mal ne kleine oder größere "Baustelle". Würde mich freuen wenn du da auch nochmal helfen könntest.
Gruß Benny
AW: Datentypen definieren
02.04.2019 14:00:50
Werner
Hallo Benny,
einfach mal ausprobieren mit dem Formatieren der entsprechenden Spalten.
Gruß Werner
AW: Datentypen definieren
02.04.2019 14:28:47
benny124aka
Ok habs herausgefunden.
Zellen formatieren - Ausrichtung - Horizontal - (von Standard) auf (Einzug links) geändert !
Wie würde denn der Befehl lauten den ich in die Schleife einbauen kann ?
#Lernen#Fortschritt -YESSSSSS !!!!! Danke :)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige