Clever-Excel-Forum

Normale Version: Wert in letzte Spalte eintragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich möchte mit bestehendem Code, dass der eingegebene Wert in die letzte Zeile der Spalte B eingetragen wird, statt B64. Hier mein bestehender Code:

Code:
Sub neuesPaneleintragen()

   panel = InputBox("Bitte neuen Panelnamen eingeben: ")

   If panel = "" Then Exit Sub
   
   With Worksheets("Panels")
        .Range("B64").Value = CVar(panel)
    End With
End Sub

Ich hoffe, dass mir jemand weiter helfen kann.

LG
Thomas
moin

also die letzte Zeile in Spalte B wäre dann  .Range("B1048576").value = ...

ansonsten vielleicht so?

Code:
Sub neuesPaneleintragen()
    Dim lngZiel As Long
    panel = InputBox("Bitte neuen Panelnamen eingeben: ")
    If panel = "" Then Exit Sub
    With Worksheets("Panels")
        lngZiel = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
        .Cells(lngZiel, 2).Value = CVar(panel)
    End With
End Sub


MfG Tom
Moin!
Hier reicht ein Einzeiler:

Worksheets("Panels").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = _
  InputBox("Bitte neuen Panelnamen eingeben: ")


Gruß Ralf
Hallo Tom!

Danke sehr für die rasche Hilfe. Eine Frage hätte ich noch. Was bedeutet die Zahl 2 in der Codezeile "lngZiel = .Cells(.Rows.Count, 2).End(xlUp).Row + 1"
Wie müsste der Code noch aussehen, wenn ich will, dass erst ab Zeile 5 eintragen wird?

Danke und

LG
Thomas
Ich antworte mal, obwohl mein Einzeiler geflissentlich überlesen wurde.
Die Item-Eigenschaft des Cells-Objektes ist
Cells(Zeile, Spalte)
die zweite Spalte ist B
Du kannst Aber auch Cells(15, "B") schreiben.

Zur zweiten Frage:
In der Regel steht doch wohl eine Überschrift über dem ersten Eintrag, oder?

Gruß Ralf
Hallo Thomas,

nichts für ungut, aber wenn du das nicht weißt, bzw. herausfinden kannst, ist es wohl noch viel zu früh, sich mit VBA zu befassen. Syntax: Cells(Zeile, Spalte), bedeutet in deinem Fall die 2. Spalte, also Spalte B.