Excel Makro Datensatz in nächste Zelle speichern

Hallo liebe Helfer,

ich bräuchte eure hilfe, ich muss ein Makro erstellen und dieses dann quasi im excel bzw. im breich VBA umschreiben.

Ich muss in Tabelle 1 in der Zeile 1 Spalte A-F
A B C D E F
1 Haller Manu 12.01.200 Stuttgart BW DE

eintragen nun mache ich ein Makro und tue es zuweisen:

Dieses Makor muss die Daten aus Zeile 1 A-F in den neuen Reiter bzw. Tabelle 2

in die erste Zeile Einfügen. Dieses klappt und habe ich geschafft…

wenn ich nun aber einen neuen Z.b. freund eingeben und wieder aufs gleiche Makro klicke überschreibt er natürlich meine Daten, er sollte aber diese 'Daten in Tabelle 2 Zeile 2 A-F notieren. Als ergebnis soll ich dann in Zeile 1 stehen und jeder weitere Datensatz soll unter mir eingefügt werden.

Ich schaffe dies nicht, er tut mir immer meinen Datensatz überschreiben.

Wie kann ich das Makro bzw. den Code so umschreiben das er dann immer automatisch die nächste Zelle mit den Daten füllt?

Ich danke im Voraus lg

Haller

Grüezi Haller/HUber

Ich habe die Frage hier bereits beantwortet:

http://www.office-loesung.de/ftopic572514_0_0_asc.ph…

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Das ist im Prinzip kein Problem. Auch mal bei google nach „vba Excel nächste freie Zeile“. Da gibts schon etliche Lösungungen. Wenn du immernoch Hilfe brauchst dann poste mal deinen Source

Lg
OVM

Hallo Haller87,

hier mein Vorschlag um die nächste freie Zeile zu finden:

Dim Freiezeile As Long

Freiezeile = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(Freiezeile, 1).Select 'kann später entfallen

Gruß Hugo

Die nächste freie Zeile kannst du beispielsweise suchen mit dem Ausdruck

FreieZeile = Sheets(2).Cells(1,1).End(xlDown).Row + 1

(wenn die Daten ins 2. Sheet sollen, und in der ersten Spalte nach dem letzen Eintrag gesucht werden soll)

Viele Grüße,
BellHouse

Hallo!

Da du leider dein Makro nicht beigefügt hast, als keine Hilfe folgendes.
Du musst vorher die letzte beschriebene Zeile in deiner neuen Tabelle ermitteln und dann deinen Werte eine Zeile darunter anfügen.

lz = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)

wobei die 1 die Spalte angibt, in der die letzte Zeile ermittelt werden soll. Wenn in Spalte 1 (=A) deine Werte anfangen, kannst du das so lassen
dann fügst du deinen Werte in der Form
lz = lz +1
cells(lz,1) = „Wert in Spalte 1“
cells(lz,2) = „Wert in Spalte 2“

usw…
Gruß
Ralf

=====================================

Hallo Haller,

versuch mal die maximal genutzte Anzahl an Zeile zu ermitteln (ActiveSheet.UsedRange.Rows.Count). Diesen Wert trägst du in eine Variable und addierst 1 hinzu. schon hast du als Zeilenwert die nächstmögliche leere Zeile.

Gruß,
Christin

Hallo Haller

Einfach mit den Makrorecorder,
Zeilen Einfügen aufzeichnen.
Vor dein Code einfügen.

Gruß Fred

Hallo,
ich würde es mit worksheet cells versuchen, die Zahlen können auch in loops und Schleifen angesprochen werden, so dass es kein Problem sein sollte,

Gruss

Hallo Hallo,

hier ein entsprechendes Makro, das auch jeweils in die nächste freie Zeile im Zielblatt kopiert.

Gruß
Franz

Sub CopyDaten()
 Dim wksQ As Worksheet, wksZ As Worksheet
 Dim Zelle As Range
 Set wksQ = Worksheets("Tabelle1") 'Eingabe-Tabelle
 Set wksZ = Worksheets("Tabelle2") 'Zieltabelle
 With wksZ
 'Zelle in letzter Zeile mit Daten finden
 Set Zelle = .Cells.Find(What:="\*", After:=.Cells(1, 1), LookIn:=xlFormulas, \_
 lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
 'Daten in nächste freie Zeile kopieren
 If Zelle Is Nothing Then
 wksQ.Range("A1:F1").Copy Destination:=wksZ.Cells(1, 1)
 Else
 wksQ.Range("A1:F1").Copy Destination:=wksZ.Cells(Zelle.Row + 1, 1)
 End If
 End With
End Sub

Hallo Haller,

versuche es mal mit diesem VBA-Script:

Sub kopieren()
Sheets(„Tabelle1“).Select
Range(„A1:F1“).Select
Selection.Copy
Sheets(„Tabelle2“).Select
LZ = [A65536].End(xlUp).Row
Cells(LZ + 1, 1).Select
ActiveSheet.Paste
End Sub

Feedback wäre schön.
Gruß,
Ptonka

Hallo
Sorry verstehe nur Bahnhof und weniger. Ist ja egal. Du kannst jeder Zelle in Excel Inhalte hinzufügen mit dem Code:
Tabelle1.Cells(1,1)=„XYZ“
oder über eine Variable:
Dim strText as String
strText = „XYZ“
Tabelle1.Cells(1,1)=strText

Analog kannst Du auch Inhalte einer Zelle einer Variablen zuweisen:
Dim strText as String
strText = Tabelle1.Cells(1,1)
oder jetzt die Anwendung:
tabelle2.cells(1,5)=Tabelle1.cells(1,1) & " " & tabelle1.cells(1,2) …

oder dies machen mit einer For Schleife:
For l=1 to 4
tabelle2.cells(1,5) = tabelle2.cells(1,5) 6 " " & Tabelle1.cells(l,1)
next l

Grüsse Sebastian