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

wert in letzte zeile schreiben

Forumthread: wert in letzte zeile schreiben

wert in letzte zeile schreiben
07.01.2004 13:07:09
Dennis
Hallo!

wie kann ich in VBA einen code erstellen, wobei erkannt die leztzte zeile erkannt wird, in welcher daten stehen und einen wert immer in die darunter schreibt?

Danke
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wert in letzte zeile schreiben
07.01.2004 13:10:43
mayk

Sub letzteZeile ()
dim lZeile as integer
lZeile=activecell.specialcells(xlCelltypeLastCell).row+1
cells(LZeile,1) = "hier war Ende"
End Sub


Gruß,
mayk
AW: wert in letzte zeile schreiben
07.01.2004 13:14:26
dennis
wenn ich einen wert habe wie folgt:

if.....("A1")..... = 1 Then

und dann soll der wert der Zelle A1 in die letzte zeile geschrieben werden, natürlich auch in spalte a...........
Anzeige
AW: wert in letzte zeile schreiben
07.01.2004 13:17:56
mayk
verstehe jetzt den Sinn nicht, aber meinst du das?


Sub letzteZeile ()
dim lZeile as integer
if cells(1,1)="1" then
lZeile=activecell.specialcells(xlCelltypeLastCell).row+1
cells(LZeile,1) = cells(1,1)
end if
End Sub

AW: wert in letzte zeile schreiben
07.01.2004 13:14:13
Beni
Hallo Dennis,
i = ermittelt letzte Zeile in SpalteA + 1
Gruss Beni

i = Cells(65536, 1).End(xlUp).Row + 1
Cells(i, 1) = "Wert"
Anzeige
AW: wert in letzte zeile schreiben
07.01.2004 13:16:31
AndreasS
Hallo,


Sub ErsteFreieA()
Dim s As String
Dim i As Long
With ActiveSheet
i = 8
Do
i = i + 1
s = Cells(i, "A")
If Len(s) = 0 Then
Cells(i, "A").Activate
Exit Do
End If
Loop While i < 65535
End With
End Sub


gruß
AW: Erklärung: wert in letzte zeile schreiben
07.01.2004 13:18:10
AndreasS
Hallo,
i= 8 bedeutet, dass erst ab da begonnen wird...
mfg
Anzeige
AW: wert in letzte zeile schreiben
07.01.2004 13:19:42
dennis

Sub ErsteFreieA()
Dim s As String ' string?
Dim i As Long ' long?
With ActiveSheet
i = 8 ' was ist 8?
Do
i = i + 1
s = Cells(i, "A")
If Len(s) = 0 Then ' was ist len
Cells(i, "A").Activate
Exit Do
End If
Loop While i < 65535 ' ?????
End With
End Sub

AW: wert in letzte zeile schreiben
07.01.2004 13:32:50
AndreasS
Hallo,
string bedeutet, dass nach einer Zeichenfolge gesucht wird(in der freien Zelle)...
8 bedeutet, dass die suche nach der ersten freien ab Zeile 8 beginnt...
Die Len-Funktion gibt nicht immer die tatsächlich zum Speichern benötigten Bytes zurück, wenn sie mit Zeichenfolgen variabler Länge in benutzerdefinierten Datentypen verwendet wird.Len(Zeichenfolge | Variablenname)

Die Syntax der Len-Funktion besteht aus folgenden Teilen:

Teil Beschreibung
Zeichenfolge Beliebiger gültiger Zeichenfolgenausdruck. Wenn Zeichenfolge den Wert Null enthält, wird Null zurückgegeben.

Variablenname Beliebiger gültiger Name für eine Variable. Wenn Variablenname den Wert Null enthält, wird Null zurückgegeben. Wenn Variablenname ein Wert vom Typ Variant ist, wird er von Len genauso behandelt wie ein Wert vom Typ String, und es wird immer die Anzahl der darin enthaltenen Zeichen zurückgegeben.

65535 da ein Excelsheet 65535 Zeilen enthält...

mfg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Wert in die letzte Zeile schreiben in Excel mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere und füge den folgenden Code ein:

    Sub letzteZeile()
       Dim lZeile As Long
       lZeile = Cells(Rows.Count, 1).End(xlUp).Row + 1
       Cells(lZeile, 1) = "Hier ist der neue Wert"
    End Sub
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Drücke ALT + F8, wähle letzteZeile aus und klicke auf Ausführen.

Mit diesem VBA-Skript wird der Wert in die erste freie Zelle unterhalb der letzten gefüllten Zelle in Spalte A geschrieben.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004":

    • Mögliche Ursache: Der Code versucht, auf eine nicht existierende Zeile zuzugreifen. Stelle sicher, dass du in einem Blatt arbeitest, das nicht leer ist.
  • Lösung: Überprüfe, ob in der Spalte A tatsächlich Daten vorhanden sind.


Alternative Methoden

  1. Formelbasierte Lösung:

    • Du kannst auch die Funktion =VERGLEICH(MAX(A:A);A:A;0) verwenden, um die letzte Zeile mit Daten zu finden und dann mit INDIREKT den Wert in die nächste Zeile zu setzen.
  2. Excel-Tabellen:

    • Wenn du eine Excel-Tabelle verwendest, kannst du die Funktion Tabelle1[#Alle] nutzen, um automatisch die letzte Zeile zu bestimmen.

Praktische Beispiele

  • Beispiel 1: Füge einen Wert aus einer anderen Zelle hinzu.

    Sub WertHinzufuegen()
       Dim lZeile As Long
       If Cells(1, 1).Value = 1 Then
           lZeile = Cells(Rows.Count, 1).End(xlUp).Row + 1
           Cells(lZeile, 1).Value = Cells(1, 1).Value
       End If
    End Sub
  • Beispiel 2: Suche nach der ersten freien Zelle ab Zeile 8.

    Sub ErsteFreieA()
       Dim s As String
       Dim i As Long
       With ActiveSheet
           i = 8
           Do
               i = i + 1
               s = Cells(i, "A").Value
               If Len(s) = 0 Then
                   Cells(i, "A").Activate
                   Exit Do
               End If
           Loop While i < 65535
       End With
    End Sub

Tipps für Profis

  • Verwende Long anstelle von Integer: In VBA ist Long besser geeignet, um Zeilen zu speichern, da Integer nur bis 32.767 zählt und Excel mehr Zeilen hat.

  • Optimierung durch With-Anweisungen: Reduziere die Anzahl der Berechnungen, indem du With-Anweisungen verwendest, um mehrfaches Ansprechen des gleichen Objekts zu vermeiden.


FAQ: Häufige Fragen

1. Wie finde ich die letzte Zeile einer anderen Spalte? Um die letzte Zeile einer anderen Spalte zu finden, ändere den Index in Cells(Rows.Count, 2).End(xlUp).Row, wobei 2 für Spalte B steht.

2. Was mache ich, wenn ich mehrere Werte in einer Zeile speichern möchte? Du kannst mehrere Zellen in einer Zeile befüllen, indem du die Zelle entsprechend anpasst, z.B. Cells(lZeile, 2).Value = "Neuer Wert" für die zweite Spalte.

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