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

VBA

VBA
31.10.2017 22:38:55
Rene
Hallo,
ich habe eine Frage zur Programmierung in VBA.
Ich möchte gern dass durch UserForm eine Tabelle befüllt und gleichzeitig eine neue Zeile eingefügt wird.
Für das Einfügen der Daten habe ich folgenden Code verwendet:
intErsteLeereZeile = ActiveSheet.Cells(25, 4).End(xlUp)
Aber ich weiß nicht, wie er beim nächsten einfügen in die nächste Zeile springt und gleichzeitig eine leere Zeile einfügt.
Kann mir hierzu jemand helfen?
Vielen Dank.
René

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

Betreff
Datum
Anwender
Anzeige
AW: VBA
31.10.2017 22:51:49
Thorsten_Z
Hallo Renè,
der Ganze Code wäre hilfreicher.
Gruß
Thorsten Z
AW: VBA
31.10.2017 23:59:25
Rene
Hallo Thorsten,
sorry, habe vergessen den gesamten Code einzufügen.
Private Sub cmdBetraegeUebergeben_Click()
'Werte aus formular übergeben, neue Zeile einfügen und schliessen
Dim intErsteLeereZeile As Long
intErsteLeereZeile = ActiveSheet.Cells(25, 4).End(xlUp)
ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.txtPosition.Value
ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.txtPositionTitel.Value
ActiveSheet.Cells(intErsteLeereZeile, 8).Value = Me.cboSteuersatz1.Value
ActiveSheet.Cells(intErsteLeereZeile, 9).Value = Me.txtNetto.Value
ActiveSheet.Cells(intErsteLeereZeile, 10).Value = Me.txtWaehrung.Value
Unload frmRechnungseingabe
End Sub
Danke vorab.
Gruß
René
Anzeige
AW: VBA
01.11.2017 08:05:09
Thorsten
Moin René,
Dein Code sagt, dass wenn du den Button drückst, die Werte in die Tabelle eingetragen werden und deine Userform geschlossen wird.
D.h. beim nächsten Aufruf der UF und erneutem drücken des Buttons wird automatisch nach der nächsten leeren Zeile gesucht.
Damit ist doch alles so wie du es haben wolltest, oder?
Gruß
Thorsten_Z
AW: VBA
01.11.2017 08:37:50
Rene
Moin Thorsten,
danke für Deine Nachricht.
Das Problem ist, dass er nicht in die nächste leere Zeile springt. Die erste leere Zeile beginnt bei „Cells (25, 4). Diese befüllt er auch, aber beim erneuten Aufruf der UserForm geht er nicht in die Zeile darunter und fügt auch keine neue Zeile ein.
Ich komme da irgendwie nicht weiter.
Gruss
René
Anzeige
AW: VBA
01.11.2017 08:51:33
hary
Moin
Cells(25, 4).End(xlUp)

gibt die letzte belegte wieder bis Zeile 25, du musst mit Rows.Count arbeiten und .Row + 1 dahinter setzen. Wenn oberhalb von Zeile 25 noch Zellen frei sind muss noch geprueft werden ob "intErsteLeereZeile" groesser 24
ActiveSheet brauchst du nicht, da wenn nichts vorgeben ist, immer das aktive Blatt genommen wird.
Teste mal
Dim intErsteLeereZeile As Long
intErsteLeereZeile = Cells(Rows.Count, 4).End(xlUp).Row + 1
Cells(intErsteLeereZeile, 4) = Me.txtPosition.Value
Cells(intErsteLeereZeile, 5) = Me.txtPositionTitel.Value
Cells(intErsteLeereZeile, 8) = Me.cboSteuersatz1.Value
Cells(intErsteLeereZeile, 9) = Me.txtNetto.Value
Cells(intErsteLeereZeile, 10) = Me.txtWaehrung.Value
Unload frmRechnungseingabe
MsgBox intErsteLeereZeile

gruss hary
Anzeige
AW: Korrektur
01.11.2017 09:03:26
hary
Moin nochmal
MsgBox intErsteLeereZeile
Kannst du rausnehmen. Ist fuer dich nur zur Kontrolle drin.
gruss hary
AW: Korrektur
02.11.2017 22:02:23
Rene
Hallo Hary,
vielen Dank für Deine Nachricht.
Nach Übergabe der Daten wird die Seite am Ende um eine Zeile erweitert, in die er dann den Datensatz schreibt. Er fängt praktisch nicht in Zeile 25 an. Aber er beginnt wie gewünscht in Spalte 4.
Hast Du noch eine Idee, wie ich den Code verändern kann.
Danke.
Gruss
René
AW: Korrektur
02.11.2017 22:21:14
Rene
Hallo Hary,
Danke für Deine Nachricht.
Aber beim Testen fügt er eine neue Zeile am Seitenende ein und schreibt dort den Datensatz beginnend ab Spalte 4 hinein.
Hast Du noch eine Idee wie ich den Code ändern kann?
Gruss
René
Anzeige
Beispielmappe bitte
03.11.2017 00:48:32
Werner
Hallo Rene,
auch nach mehrfachem Lesen deiner Beiträge weiß ich nicht was du genau willst. Du schreibst dauernd, dass der Code eine neue Zeile einfügt - das macht er nicht.
Er geht in Spalte 4 (D) und schaut von unten nach oben, wo die letzte belegte Zelle ist. Eine Zeile darunter werden dann deine Daten eingetragen. Eine neue Zeile wird da nirgends eingefügt.
Mir zumindest ist nicht klar was du tatsächlich vor hast.
Ich denke es wird Zeit, dass du deine Datei hier mal hoch lädst.
Gruß Werner
AW: Beispielmappe bitte
06.11.2017 22:58:29
Rene
Hallo Werner,
die Datei steht unter folgendem Link zur Verfügung:
https://www.herber.de/bbs/user/117480.xlsm
Die Eingabe der Daten mittels Formular erfolgt unterhalb der Tabelle. Die Datensätze sollen jedoch zwischen Tabellenkopf und der Textreihe sowie eine zusätzliche Zeile eingefügt werden.
Es ist auch logisch, dass er die nächste freie Zeile als die unterhalb der Textreihe erkennt, aber ich konnte das Problem durch Anpassung des Codes noch nicht lösen.
Gruss
René
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige