Bei Eingabe letzte Zeile per Code kopieren

Hallo liebe Excelfreunde, hallo Reinhard.
Wieder mal ich.
Ich habe eine Makroaufzeichnung gemacht, aber leider habe ich wieder mal einen falsche Anfang gewählt.
Vieleicht hat ja jemand ein passenedes Makro oder kann mir hier helfen.
Ich habe ein Arbeitsblatt, in denen in der Spalte A ab Zeile 5 eine Artikelnummer eingegeben wird. In den Spalten B,C,D usw. sind Berechnungen und Formel. In der Zeile 6 sind die gleichen Berechnungen und Formeln in den Zellen B,C,D usw… Ich möchte gern, wenn ich eine Eingabe in Spalte A Zeile 5 tätige, soll sich die Zeile 6 automatisch ein mal nach unten kopieren. Wenn ich jetzt in der Spalte A Zeile & eine Eingabe machte so sich die Zeile 7 wieder nach unten kopieren. Dies soll so lang gehen bis halt in der Spalte keine Eingabe gemacht wird.
Könnt Ihr mir helfen??

Hallo KJ,

beschreib mal genauer wie das ablaufen soll.
Zeile 5 ist leer. Du gibst in A5 etwas ein, bstätigst mit Enter, in B5:X5 erscheinen Formeln und Zeile 5 ist wieder leer weil Zeile 5 nach unten gerutscht ist. A5 wird markiert.
Meinst du das so?

Gruß
Reinhard

Hallo Reinhard,
also in den Zeilen 1-4 sind Titel Spaltenbezeichnisse usw.
Die Eingabe soll in Zeile 5 anfangen.
Hier trage ich in A5 eine Ean Nummer ein. In der Zelle B5 ist eine Verknüpfung aus der sich die Ean den Artikelpreis holt. In der Zelle C5 sind Berechnungen die sich auf den Preis beziehen (z.B. B5:100), in den Zelle daneben ebenfalls. Wieviel weiss ich noch nicht, vielleicht bis Zelle X5.
In den Zellen B 6 bis X6 könnte ich ja schon die gleichen Formeln eingeben wie in den Zellen darüber.
Also wenn ich in A5 ein EAN eingeben und mit Enter bestätige soll das Makro die Zelle B6 bis X6 in B7 bis X7 kopiern.
Wenn ich in A6 eine Ean eingebe und mit Enter bestätige sollen die Zelle B7 bis X7 nach B8 bis X8 kopieren.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüezi Küchenjunge

Mit werlcher Excel-Version arbeitest Du denn?

Die Eingabe soll in Zeile 5 anfangen.
Hier trage ich in A5 eine Ean Nummer ein. In der Zelle B5 ist
eine Verknüpfung aus der sich die Ean den Artikelpreis holt.
In der Zelle C5 sind Berechnungen die sich auf den Preis
beziehen (z.B. B5:100), in den Zelle daneben ebenfalls.
Wieviel weiss ich noch nicht, vielleicht bis Zelle X5.
In den Zellen B 6 bis X6 könnte ich ja schon die gleichen
Formeln eingeben wie in den Zellen darüber.
Also wenn ich in A5 ein EAN eingeben und mit Enter bestätige
soll das Makro die Zelle B6 bis X6 in B7 bis X7 kopiern.
Wenn ich in A6 eine Ean eingebe und mit Enter bestätige sollen
die Zelle B7 bis X7 nach B8 bis X8 kopieren.

Sind denn alle Zellen ab Spalte B mit Formeln ausgefüllt?
Beziehen sich diese Formeln alle auf dieselbe Zeile in der Du gerade eben die Eingabe getätigt hast?

Dann fülle mal 5 oder 6 Zeilen so aus wie Du das gerne hättest und kopiere die Formeln in den übrigen Spalten nach unten.
Setze in den Optionen den Haken bei [x]Datenformate und Formeln erweitern.

Wenn Du nun in Spalte A eine neue Eingabe machst sollten die Formeln der übrigen Spalten automatisch nach unten kopiert werden.

Wenn es nicht klappt, dann nenne doch bitte die Formeln der Zellen oder lade eine Demo-Mappe auf einen WebSpace hoch.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas

Ich arbeite mit Excel 2000, und finde für deine Hilfe die Nötige Option leider nicht.
Der Hauptgrund, warum ich dieses Makro brauche, ist das bei Öffnung des Arbeitsblatts nicht schon alle Verknüpfungen „starten“.Die Rechner, auf denen die Arbeitsmappe laufen soll sind z.T.mit PIII Prozessoren ausgestatte.
Geht das nicht, so wie ich es vorgeschlagen habe?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo KJ,

Ich arbeite mit Excel 2000, und finde für deine Hilfe die
Nötige Option leider nicht.

Ich mutmaße Thomas meint Extras–Optionen–Bearbeiten–Listenformat und Formeln erweitern.

Der Hauptgrund, warum ich dieses Makro brauche, ist das bei
Öffnung des Arbeitsblatts nicht schon alle Verknüpfungen
„starten“.

?

Die Rechner, auf denen die Arbeitsmappe laufen soll

sind z.T.mit PIII Prozessoren ausgestatte.

??

Geht das nicht, so wie ich es vorgeschlagen habe?

Wenn es nicht klappt, dann nenne doch bitte die Formeln der
Zellen oder lade eine Demo-Mappe auf einen WebSpace hoch.

Mach das mal.

Gruß
Reinhard

Morgen Ihr beiden

Habe deine Rat befolgt, leider ohne Erfolg

muss jetzt zur arbeit, vieleicht gehts ja mit meinem Code wunsch??

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüezi Küchenunge

also in den Zeilen 1-4 sind Titel Spaltenbezeichnisse usw.
Die Eingabe soll in Zeile 5 anfangen.

Ich gehe davon aus, dass in Zeile 5 bereits alle Formeln eingetragen sind.

Hier trage ich in A5 eine Ean Nummer ein. In der Zelle B5 ist
eine Verknüpfung aus der sich die Ean den Artikelpreis holt.
In der Zelle C5 sind Berechnungen die sich auf den Preis
beziehen (z.B. B5:100), in den Zelle daneben ebenfalls.
Wieviel weiss ich noch nicht, vielleicht bis Zelle X5.
In den Zellen B 6 bis X6 könnte ich ja schon die gleichen
Formeln eingeben wie in den Zellen darüber.

…Du meinst wie davor…?

Also wenn ich in A5 ein EAN eingeben und mit Enter bestätige
soll das Makro die Zelle B6 bis X6 in B7 bis X7 kopiern.
Wenn ich in A6 eine Ean eingebe und mit Enter bestätige sollen
die Zelle B7 bis X7 nach B8 bis X8 kopieren.

Warum willst Du so kompliziert die Zeilen verschieben?

Sinnvoller wäre es IMO deine neuen Daten immer unten an die bestehenden anzuhängen.
Mit den folgenden Zeilen kannst Du das auch tun und die Formeln wie Formate der vorherigen Zeile werden in die soeben in Spalte A veränderte Zeile kopiert:

Private Sub Worksheet\_Change(ByVal Target As Range)
 Set Target = Intersect(Range("A:A"), Target)
 If Not Target Is Nothing Then
 Dim rngZelle As Range
 For Each rngZelle In Target
 With rngZelle
 If .Row \> 5 Then
 .Offset(-1, 1).Resize(1, .EntireRow.Cells.Count - 1).Copy .Offset(0, 1)
 End If
 End With
 Next rngZelle
 End If
End Sub


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo KJ,

Habe deine Rat befolgt, leider ohne Erfolg

Mein Rat war das zu tun was Thomas vorschlug:

Wenn es nicht klappt, dann nenne doch bitte die Formeln der
Zellen oder lade eine Demo-Mappe auf einen WebSpace hoch.

Davon sehe ich nichts.

Und wenn ich bei meinen Antworten unter Zeilen von dir ein Fragezeichen setze so bedeutet das ich habe das nicht verstanden.
Kann an mir liegen, kann an dir liegen, wie auch immer, darauf einzugehen würde sich lohnen *denk*

Gruß
Reinhard

Hallo Reinhard, Hallo Thomas,

anbei der Link für meine Excel Mappe mit Formeln.
http://www.hostarea.de/server-04/April-ce77568827.xls

ZU den Fragen: Ich möchte diese Mappe an Freunde weitergeben, die manchmal Rechner haben, die nicht mehr so ganz den heutigen Stand entsprechen. Wenn ich die Datei mit den Verknüpfungen versende, ist der Empfangende Rechner mit den Verknüpfungen bis zu 30 Min. am arbeiten. Bei mir ist das nicht so, warum weis ich auch nicht.
Jetzt dachte ich, ich verschicke die Mappe mit nur einer GRUND-Zeile mit den Formel, und dann bei Eingabe in der Spalte A6 kopiert sich dann die Zeile um eine Zeile weiter nach unten.
Dieser Code würde mir auch bei anderen Mappen helfen, da ich manchmal nicht weiss wieviel Zeilen das Arbeitsblatt haben wird, und dann würde ich den Code abändern, wenn dann noch ein paar Kommentare eingefügt wäre.
Also noch mal: Wenn ich eine Eingabe in Spalte A Spalte 6 mit ENTER bestätige, soll sich die gleiche Zeile Spalten B bis M um eine Zeile nach unten kopieren.Mit Formeln, Verknüpfungen, usw.
Ich hoffe auf eine Lösung, oder habe ich mich wieder falsch ausgedrückt?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüezi Küchenjunge

…irgendwie schaffst Du es an den gestellen Fragen vorbei zu lesen oder gar nicht auf sie einzugehen - ich hatte dir einige Fragen gestellt und auch einen Code geliefert, der hier IMO genau passt.

Doch leider bist Du mit keiner Silbe direkt darauf eingegangen - da frage ich mich schon, wieso…?

anbei der Link für meine Excel Mappe mit Formeln.
http://www.hostarea.de/server-04/April-ce77568827.xls

ZU den Fragen: Ich möchte diese Mappe an Freunde weitergeben,
die manchmal Rechner haben, die nicht mehr so ganz den
heutigen Stand entsprechen. Wenn ich die Datei mit den
Verknüpfungen versende, ist der Empfangende Rechner mit den
Verknüpfungen bis zu 30 Min. am arbeiten. Bei mir ist das
nicht so, warum weis ich auch nicht.
Jetzt dachte ich, ich verschicke die Mappe mit nur einer
GRUND-Zeile mit den Formel, und dann bei Eingabe in der Spalte
A6 kopiert sich dann die Zeile um eine Zeile weiter nach
unten.
Dieser Code würde mir auch bei anderen Mappen helfen, da ich
manchmal nicht weiss wieviel Zeilen das Arbeitsblatt haben
wird, und dann würde ich den Code abändern, wenn dann noch ein
paar Kommentare eingefügt wäre.
Also noch mal: Wenn ich eine Eingabe in Spalte A Spalte 6 mit
ENTER bestätige, soll sich die gleiche Zeile Spalten B bis M
um eine Zeile nach unten kopieren.Mit Formeln, Verknüpfungen,
usw.
Ich hoffe auf eine Lösung, oder habe ich mich wieder falsch
ausgedrückt?

Ich sag dazu mal lieber nichts mehr und poste hier den Code nochmals, der 1:1 derselbe ist wie in meinem vorherigen Beitrag und den Du ohne Anpassung ins Code.Modul deines Tabellenblattes kopieren kannst/sollst/musst:

Private Sub Worksheet\_Change(ByVal Target As Range)
 Set Target = Intersect(Range("A:A"), Target)
 If Not Target Is Nothing Then
 Dim rngZelle As Range
 For Each rngZelle In Target
 With rngZelle
 If .Row \> 5 Then
 .Offset(-1, 1).Resize(1, .EntireRow.Cells.Count - 1).Copy .Offset(0, 1)
 End If
 End With
 Next rngZelle
 End If
End Sub

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,
bitte entschuldige meine unvermögen. Ich habe doch glatt deine Code in der ersten Antwort übersehen. Stress?!
Ich werde den Code morgen ausprobieren.
Melde mich noch mal

Danke erst einemal für Deine (Eure) Hife.

S U P E R der Code geht!!!

Bite bitte schreib noch mal eine paar KOmmentare,

Danke dir, euch, ach allen!!

Konnte nicht bis morgen warten!!

Bite bitte schreib noch mal eine paar KOmmentare,

Hallo KJ,

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim rngZelle As Range
Set Target = Intersect(Range("A:A"), Target) ' Target umfasst jetzt alle geänderten zellen in A
If Target Is Nothing Then Exit Sub 'wenn Target keine Zelle(n) in A ist/hat verlasse die Sub
For Each rngZelle In Target 'durchlaufe alle Zellen in Target
 With rngZelle
 If .Row \> 5 Then ' wenn die Zeile größer 5 ist dann...
 ' Wenn rngZelle z.B. A8 ist so wird B7:IV7 nach B8 kopiert, siehe Sub tt()
 .Offset(-1, 1).Resize(1, .EntireRow.Cells.Count - 1).Copy .Offset(0, 1)
 End If
 End With
Next rngZelle
End Sub
'
Sub tt()
With Range("A8")
 If .Row \> 5 Then ' wenn die Zeile größer 5 ist dann...
 MsgBox .Offset(-1, 1).Address
 MsgBox .EntireRow.Cells.Count
 MsgBox .Offset(-1, 1).Resize(1, .EntireRow.Cells.Count - 1).Address
 MsgBox .Offset(0, 1).Address
 .Offset(-1, 1).Resize(1, .EntireRow.Cells.Count - 1).Copy .Offset(0, 1)
 End If
End With
End Sub

Gruß
Reinhard

Danke Reinhard,
für deine Kommentare

Bitte noch einmal Entschuldigung, wenn ich mich nicht immer so den Forum entsprechend, verhalte, ich werde versuchen mich zu besssern.

Bitte noch einmal Entschuldigung, wenn ich mich nicht immer so
den Forum entsprechend, verhalte, ich werde versuchen mich zu
besssern.

Hallo KJ,

ich bin da ja viel schneller dabei mal rumzumotzen wenn mir was nicht passt.
Jetzt benutzt schon Thomas die Wortwahl:
„Doch leider bist Du mit keiner Silbe direkt darauf eingegangen - da frage ich mich schon, wieso…?“

Bedenke was in dieser Botschaft schlummert. Da schlummert drin, wenn du noch ein, zwei,drei Mal nicht auf das reagierst was dir gesagt wird um dir zu helfen wirste überlesen.

Wenn du in einem Kochbrett Leuten helfen willst denen der Auflauf zusammenfällt oder sonstwas und du fragst nach, E-herd, gas-herd, Induktionsherd, sonstwas, auf welcher Stufe, welche Mengen in g oder ml bei den Zutaten, welche Zutaten und als Feedback kommt gar nix.

Da kommst du auch ins Grübeln, fragst vielleicht nochmal das Gleiche nach, wenn da auch nix Brauchbares kommt, naja, irgendwann denkst du dir wenn sie was essen wollen sollen sie zu MCDoof gehen…
Du wolltest helfen, aber es ging halt nicht.

Gruß
Reinhard

Hallo Reinhard, Hallo Thomas;

Ich habe mir jetzt mal den ganzen Verzeichnisbaum von meine Frage angesehen, danke das du mich noch mal auf die Problemen von Helfer hingewiesen hast.
Jetzt noch einmal eine Frage zu deinem Code.
Kann ich da auch Steuern das z.B. nur Spalten B bis H kopiert werden, oder z.B. Spalte B bis H und T bis X kopiert werden?
Und kann man die Zeilen nach unten begrenzen? oder auch in Blöcken wie z.B. von Zeile 6 bis 15 und dann wieder von 22 bis 35. Das sind alles nur Beispiele, aber wie schon geschrieben, würde mir das bei vielen Arbeitsmappen helfen.