Clever-Excel-Forum

Normale Version: Wer kann mir bitte einen kurzen VBA Code erstellen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo VBA Profis,
ich bin neu in dem VBA Gebiet und brauche Eure Unterstützung!
Kann mir bitte jemand helfen einen Makro Code zu erstellen, habe eine Maske mit 7 Textfeldern und Command Button, aktuell kann ich von meiner Textfelder in die nächste freie Zeile (unten) schreiben, was ich aber immer in Zeile 5 übertragen möchte und danach soll in 5 eine neue freie Zeile eingefügt werden damit ich beim nächsten Eintrag eine Freie Zeile in 5 habe.
Die aktulle Einträge sollen immer oben sein, so dass die ausgefüllte Zeilen immer nach unter rutschen.

Aktuell sieht mein Makro so aus!

Private Sub Übertragen_Click()
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1       
(Neu soll immer in Zeile A5-G5 schreiben + neue Zeile in Zeile 5 einfügen und nicht nach unten)

ActiveSheet.Cells(last, 1).Value = Userform1.Textbox1.Value
ActiveSheet.Cells(last, 2).Value = Userform1.Textbox2.Value
ActiveSheet.Cells(last, 3).Value = Userform1.Textbox3.Value
ActiveSheet.Cells(last, 4).Value = Userform1.Textbox4.Value
ActiveSheet.Cells(last, 5).Value = Userform1.Textbox5.Value
ActiveSheet.Cells(last, 6).Value = Userform1.Textbox6.Value
ActiveSheet.Cells(last, 7).Value = Userform1.Textbox7.Value

End Sub

Danke für jede Unterstützung!
Gruß
Moin,
ein Denk- oder Ausdrucksfehler: Du willst offensichtlich nach dem schreiben in die Tabelle  VOR  der aktuellen Zeile_5 eine neue Zeile einfügen, und nicht danach.
Das kannst du übrigens gut mit dem Makrorecorder aufzeichnen!
(18.03.2018, 17:33)GMG-CC schrieb: [ -> ]Moin,
ein Denk- oder Ausdrucksfehler: Du willst offensichtlich nach dem schreiben in die Tabelle  VOR  der aktuellen Zeile_5 eine neue Zeile einfügen, und nicht danach.
Das kannst du übrigens gut mit dem Makrorecorder aufzeichnen!

Hallo GMG-CC,

danke für deine schnelle Antwort, sorry war doch ein Denkfehler, du hast Recht.
Tatsache ist, ich möchte von meiner Textfeldern (Userform) immer in die Zeile A5-G5 schreiben können!
Hallo Beni,

so:
Code:
Private Sub Übertragen_Click()
Dim i As Long

With ActiveSheet
   .Rows(5).Insert
   For i = 1 To 7
       .Cells(5, i) = Me.Controls("TextBox" & CStr(i))
   Next i
End With
       
End Sub


Gruß Werner
Moin!
Nur meine Meinung:
Falls z.B. bedingte Formatierungen enthalten sind, wirst Du mit der Methode des Zeileneinfügens die Liste auf Dauer zerschießen.
Besser ist jedenfalls, den neuen Datensatz anzuhängen und dann zu sortieren.

Allerdings ist das ohne Beispieldatei Makulatur.

By the way würde ich niemals sieben Spalten per Userform füllen, sondern direkt in die Liste schreiben.
Welchen Vorteil versprichst Du Dir von einem UF?

Gruß Ralf
(18.03.2018, 17:52)Werner.M schrieb: [ -> ]Hallo Beni,

so:
Code:
Private Sub Übertragen_Click()
Dim i As Long

With ActiveSheet
   .Rows(5).Insert
   For i = 1 To 7
       .Cells(5, i) = Me.Controls("TextBox" & CStr(i))
   Next i
End With
       
End Sub


Gruß Werner

Hallo Werner,
ich weiß es nicht wo mein Fehler steckt, habe mehrfach mit deinem Code probiert, geht leider nicht :(
kannst du mir vielleicht mein UF ergänzen, wäre sehr dankbar dafür!
Ich werde versuchen, mein UF da hochzuladen, wenn nicht möglich, reicht mir auch der Code was ich am Anfang hier mitgeteilt habe mit dem neuen ergänzt!

Gruß
Beni
Wieso übersehen eigentlich so viele den riesigen Button "Antworten" und drücken statt dessen "Zitieren"?  Huh
@Berni:
Neues Attachment, Datei auswählen
Excel-Datei, kein Bild!

(zu meinem Einwand #5 hast Du Dich nicht geäußert!)

Gruß Ralf
(18.03.2018, 18:03)RPP63 schrieb: [ -> ]Moin!
Nur meine Meinung:
Falls z.B. bedingte Formatierungen enthalten sind, wirst Du mit der Methode des Zeileneinfügens die Liste auf Dauer zerschießen.
Besser ist jedenfalls, den neuen Datensatz anzuhängen und dann zu sortieren.

Allerdings ist das ohne Beispieldatei Makulatur.

By the way würde ich niemals sieben Spalten per Userform füllen, sondern direkt in die Liste schreiben.
Welchen Vorteil versprichst Du Dir von einem UF?

Gruß Ralf


Hallo Ralf,
ich gebe dir da Recht, aber ich bin vll. doch gezwungen so zu machen da ich später 70-100 Tabellenblätter haben werde und über ComboBox schneller blättern könnte, die Übertragungen sollten jedes mal sichtbar sein um es auf Richtigkeit zu überprüfen, Siehe Anhang!

Gruß
Beni
Ist das denn wirklich so schwer?
[attachment=16707]

Jetzt folgt ein sinnvolles Zitat:
Zitat:da ich später 70-100 Tabellenblätter haben werde und über ComboBox schneller blättern könnte,

Du solltest DRINGEND Dein Datenmodell prüfen!
Alles in eine Tabelle und filtern oder ein Pivot-Table erstellen.
Du verrennst Dich da völlig!
Sorry habe den Antwort Button übersehen  Blush

Habe am Anfang erwähnt, dass ich neu in dem Gebiet bin und für jede Unterstützung sehr dankbar wäre!
Genau im Detail kann ich leider keine Fehler korrigieren, die Codes habe ich teilweise aus dem iNet!
Gruß
Seiten: 1 2