Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA TextBox (Formularsteuerelemente) Hilfe und Spalten Löschfunktion
#1
Tongue 
Hallo, Liebe Excel Gemeinde!
 
Ich brauche mal Hilfe bei zwei Dingen, da ich kein VBA Profi bin! Ich möchte gerne das Zwei Text Boxsen (Formularsteuerelemente) per VBA in meiner „Tabelle1“ Eintragungen vornehmen, wen ich was eintrage und dies in die Jeweils nässte frei Zeile meiner Tabelle2 mit der Eingabetaste (Enter-/Return-Taste) eintragen

(Tabelle 1) TextBox6 = (Tabelle 2) SpalteA
(Tabelle 1) TextBox5) =(Tabelle2) Spalte B

 
Und mein zweites Anliegen ist, ich möchte dazu eine Löschfunktion über ein Batten einsetzen, das von meiner Tabelle 1 in Tabelle2 die Spalten A und B löscht am
Ende jeden Tages.

Range ("A2:A1000"). Clear Contents
Range ("B2:B1000"). Clear Contents
 
End Sub


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 128,66 KB / Downloads: 4)
Antworten Top
#2
Hallöchen,

der erste Eintrag würde in Tabelle2 dann in A1 und B14 stehen und das "Formular" würde nicht mehr ganz so gut aussehen ...

den letzten Eintrag einer Spalte - hier A auf dem aktiven Blatt - findest Du mit

lRow = Cells(Rows.Count,1).End(xlUp).Row

Die erste freie Zeile ist dann 1 tiefer, also ... + 1, und für Tabelle 2 schreibst Du

lRow = Sheets("Tabelle2").Cells(Rows.Count,1).End(xlUp).Row + 1

Für das Auslesen der Textboxen nimmst Du einen Button? Das Übertragen könnte dann so aussehen:

Cells(lrow, 1).Value = ActiveSheet.TextBox1.Text
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
ergänzend dazu: lösche die Formeln in Spalte A deiner Tabelle3, die du komischerweise Tabelle2 nennst.  
.Cells(.Rows.Count, 1).End(xlUp).Row + 1  landet sonst bei einer Zeile größer 400

Es ist nicht sehr hilfreich wenn man Helfer verwirrt. Du solltest deine Beispieldateien besser vorbereiten. 
Ist ja nicht dein erstes Hilfeersuchen. 

Code:
Sub inTab3Eintragen()
Dim lfreerow As long
With Worksheets("Tabelle3")
    lfreerow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
   

' Die Datenformate mußt du evtl. noch prüfen/umwandeln. Aus Textboxen kommt nur Text.
    .Cells(lfreerow, 1) = Worksheets("Tabelle1").TextBox5.Text
    .Cells(lfreerow, 2) = Worksheets("Tabelle1").TextBox6.Text
End With
End Sub
Antworten Top
#4
Moin!
Zitat aus Ralfs Code

Zitat:Die Datenformate mußt du evtl. noch prüfen/umwandeln. Aus Textboxen kommt nur Text
Aus genau diesem Grund frage  ich mich, was die Textboxes überhaupt für einen Sinn haben.

Reichen die vorhandenen 2^14*2^20 aka 17.179.869.184 Zellen nicht?

Diese kann man auch "hübsch" formatieren.
Viel wichtiger ist jedoch, dass man gleich den richtigen Datentyp hat und die Eingabe ohne VBA-Verrenkungen mittels Datengültigkeit überprüfen kann.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
(05.06.2022, 09:43)ralf_b schrieb: ergänzend dazu: lösche die Formeln in Spalte A deiner Tabelle3, die du komischerweise Tabelle2 nennst.  
.Cells(.Rows.Count, 1).End(xlUp).Row + 1  landet sonst bei einer Zeile größer 400

Es ist nicht sehr hilfreich wenn man Helfer verwirrt. Du solltest deine Beispieldateien besser vorbereiten. 
Ist ja nicht dein erstes Hilfeersuchen. 

Code:
Sub inTab3Eintragen()
Dim lfreerow As long
With Worksheets("Tabelle3")
    lfreerow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
   

' Die Datenformate mußt du evtl. noch prüfen/umwandeln. Aus Textboxen kommt nur Text.
    .Cells(lfreerow, 1) = Worksheets("Tabelle1").TextBox5.Text
    .Cells(lfreerow, 2) = Worksheets("Tabelle1").TextBox6.Text
End With
End Sub
sorry da hab ich mich etwas verschrieben, ich meinte auch tabelle3 und nicht 2.Danke für für den Hinweis darauf. Sehe aber gerade das ich meine VBA aufräumen muss da es ursprünglich von einer andern ist

(05.06.2022, 11:15)k-siebke schrieb: sorry da hab ich mich etwas verschrieben, ich meinte auch tabelle3 und nicht 2.Danke für für den Hinweis darauf. Sehe aber gerade das ich meine VBA aufräumen muss da es ursprünglich von einer andern ist
Sorry ich hatte bei meiner Themen  Eröffnung nicht bedacht- bzw vergessen  das meine Tabelle1 Schon mit einer andern VBA Funktion für mein Barcode Generator belegt ist aus meiner ursprünglichen Datei
Antworten Top
#6
(05.06.2022, 09:43)ralf_b schrieb: ergänzend dazu: lösche die Formeln in Spalte A deiner Tabelle3, die du komischerweise Tabelle2 nennst.  
.Cells(.Rows.Count, 1).End(xlUp).Row + 1  landet sonst bei einer Zeile größer 400

Es ist nicht sehr hilfreich wenn man Helfer verwirrt. Du solltest deine Beispieldateien besser vorbereiten. 
Ist ja nicht dein erstes Hilfeersuchen. 

Code:
Sub inTab3Eintragen()
Dim lfreerow As long
With Worksheets("Tabelle3")
    lfreerow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
   

' Die Datenformate mußt du evtl. noch prüfen/umwandeln. Aus Textboxen kommt nur Text.
    .Cells(lfreerow, 1) = Worksheets("Tabelle1").TextBox5.Text
    .Cells(lfreerow, 2) = Worksheets("Tabelle1").TextBox6.Text
End With
Enin meiner Tabelle3 in Spalte
in meiner Tabelle3 in Spalte A sind doch keine Formeln bei mir?
Antworten Top
#7
hallo ralf_b dein VBA Lösung funst noch nicht bei mir es sei den ich habe aus den ganzen hilfsbereiten Beiträgen was übersehen oder nicht beachtet musste erstmal einige veralte VBA Funktionen aus der alten Datei löschen und andere Fehler in der Datei beheben die ich nicht beachtet hatte 


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 124,1 KB / Downloads: 4)
Antworten Top
#8
du mußt schon dem "Eingabe"-Button das passende Makro zuordnen.
Antworten Top
#9
das habe ich getan ! ich habe es zu >Tabelle1.in Tab3Eintragen< Zugewiesen, aber da rührt sich nix wen ich den Button drücke, wenn ich aber im VBA Editor auf ausführen klicke trägt es wie gewünscht die angaben ein!
Deshalb frage ich mich ob ich was verkehrt gemacht habe oder etwas vergessen habe bei den hilfreichen Beiträgen hier 91
Antworten Top
#10
(05.06.2022, 14:18)k-siebke schrieb:  wenn ich aber im VBA Editor auf ausführen klicke trägt es wie gewünscht die angaben ein!

Naja, dann habe ich wenigstens nichts falsch gemacht.  Setze einen Haltepunkt und stelle fest ob dein Button wirklich das richtige Makro startet.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste