Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten in nächste freie Zeile schreiben

Daten in nächste freie Zeile schreiben
04.08.2004 09:07:06
hicki
Hallo zusammen ,
Habe ein Makro der mir den Courser in die nächste freie Zeile setzt jedoch schreibt er meine Daten nicht an die Courser stelle, sondern setzt die werte an die erste Zelle !


Sub freieZelle()
Dim s as string
Dim i as long
with activeshett
i=0
Do
i+1
s = cells(i,"A")
if Len(s)= o then
cells (i,"A").activate
Exit do
End if
Loop while i <65535
end with
End Sub

Die Werte die ich an Excel übergebe sind Zahlen (+/-)!
Ich sage einem externen Programm das er die daten an Excel Zeile 1 Spalte 1-4 Übertragen soll(Übertragung per DDE-Kanal das klappt auch )
nun soll aber bei einem neuen Wert diese Zeile nicht überschrieben sondern an die nächste freie Zeile geschrieben werden daher hatte ich den o.g. Makro aufgeführt ! Der setzt mir den Courser zwar an die freie Zeile aber die Werte werden trotzdem an ihre alte stelle geschrieben !
Hoffe ihr könnt mir helfen !!
Gruß
Hicki
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in nächste freie Zeile schreiben
Ulf
Was soll "A" sein?
falsch: with activeshett
richtig: with activesheet
Ulf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Daten in die nächste freie Zeile schreiben


Schritt-für-Schritt-Anleitung

Um Daten in die nächste freie Zeile in Excel zu schreiben, kannst du das folgende VBA-Makro verwenden. Achte darauf, dass du den richtigen Code verwendest, um sicherzustellen, dass die Daten korrekt in die nächste freie Zeile geschrieben werden.

Sub freieZelle()
    Dim s As String
    Dim i As Long
    With ActiveSheet
        i = 1 ' Starte bei der ersten Zeile
        Do
            s = .Cells(i, "A").Value
            If Len(s) = 0 Then
                .Cells(i, "A").Activate
                Exit Do
            End If
            i = i + 1
        Loop While i < 65535
    End With
End Sub

Stelle sicher, dass du "ActiveSheet" korrekt schreibst. Der Cursor wird an die erste freie Zeile in Spalte A gesetzt, und du kannst dann die Daten dort eingeben.


Häufige Fehler und Lösungen

  • Fehler: Der Cursor wird gesetzt, aber die Werte erscheinen an der falschen Stelle.

    • Lösung: Stelle sicher, dass du die .Activate-Methode korrekt verwendest, um sicherzustellen, dass die Daten an die richtige Stelle geschrieben werden.
  • Fehler: "ActiveSheet" wird falsch geschrieben.

    • Lösung: Achte darauf, dass "ActiveSheet" genau so geschrieben wird. Der Code with activeshett ist inkorrekt und führt zu Fehlern.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die Funktion "Tabelle" in Excel nutzen. Du kannst Daten in eine Tabelle eingeben, die automatisch die nächste freie Zeile auswählt.

  1. Erstelle eine Tabelle in Excel.
  2. Füge deine Daten in die oberste Zeile ein, die nicht leer ist.
  3. Excel wird automatisch die nächste freie Zeile für neue Daten verwenden.

Praktische Beispiele

Angenommen, du hast einen Datensatz mit Zahlen, die du von einem externen Programm überträgst. Hier ist ein Beispiel, wie du das Makro verwenden kannst:

  1. Starte das Makro mit den F5-Taste oder über das Menü „Makros“.
  2. Übertrage deine Daten, und das Makro wird sicherstellen, dass sie in die nächste freie Zeile in Spalte A geschrieben werden.

Du kannst das Makro auch erweitern, um mehrere Spalten zu berücksichtigen, indem du die Spaltennummern in .Cells(i, "A").Activate anpasst.


Tipps für Profis

  • Verwende das Makro in Kombination mit anderen Excel-Funktionen wie SUM oder AVERAGE, um sofortige Berechnungen durchzuführen, während du neue Daten hinzufügst.
  • Vermeide es, die Zeilen manuell zu durchlaufen, wenn du große Datenmengen hast. Überlege dir, ob du die Find-Methode in VBA verwenden kannst, um die nächste freie Zeile schneller zu finden.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um Daten in eine andere Spalte zu schreiben?
Du kannst einfach die Spalte in der Zeile .Cells(i, "A").Activate ändern, z.B. zu "B" für Spalte B.

2. Was mache ich, wenn ich eine Fehlermeldung bekomme?
Überprüfe die Schreibweise von "ActiveSheet" und stelle sicher, dass du die richtige Syntax im VBA verwendest. Achte ebenfalls darauf, dass du im richtigen Arbeitsblatt arbeitest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige