Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: in letzte spalte + 1

in letzte spalte + 1
29.07.2016 09:50:55
tom
Hey Leute,
eigentlich eine einfache Sache, bekomme es aber nicht hin:
Möchte von P12 die letzte Spalte suchen und dann in die daneben was reinschreiben:
Sub Schaltfläche94_Klicken()
Range("P12").Select
Range(Selection, Selection.End(xlToRight)).Select
End Sub
das hab ich, fehlt nur noch die plus 1...wohin oder wie lößt man das?
VG
Tom
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mit OffSet
29.07.2016 09:56:32
Rudi
Hallo,
Range(Selection, Selection.End(xlToRight).OffSet(, 1)).Select
wobei Select i.d.R. überflüssig ist.
Gruß
Rudi
AW: mit OffSet
29.07.2016 10:02:09
tom
Hi, danke,
und wie kann ich die letzte Zelle dann auswählen,
bzw von dort drei zeilen nach unten navigieren und diese Zelle auswählen?
Also so das der Teil vorher nicht markiert wird?
VG
Tom
Anzeige
AW: mit OffSet
29.07.2016 10:14:35
Rudi
Hallo,
Range("P12").end(xltoright).Offset(3,1).select
Gruß
Rudi
AW: in letzte spalte + 1
29.07.2016 09:56:44
baschti007
LastS = Worksheets("Tabelle1").Cells(12, 256).End(xlToLeft).Column + 1
Worksheets("Tabelle1").Cells(12, LastS) = "bla"
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

In die letzte Spalte +1 in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA die letzte Spalte zu ermitteln und in die benachbarte Zelle zu schreiben, kannst du folgendes Skript verwenden:

Sub SchreibenInLetzteSpaltePlus1()
    Dim LastS As Long
    ' Ermitteln der letzten Spalte in Zeile 12
    LastS = Worksheets("Tabelle1").Cells(12, 256).End(xlToLeft).Column + 1
    ' In die letzte Spalte +1 schreiben
    Worksheets("Tabelle1").Cells(12, LastS).Value = "Dein Text"
End Sub

In diesem Beispiel wird die letzte Spalte mit End(xlToLeft).Column ermittelt und anschließend wird der Wert in die benachbarte Zelle geschrieben. Achte darauf, dass du die korrekte Arbeitsblattbezeichnung verwendest.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt."

    • Lösung: Stelle sicher, dass das Arbeitsblatt, auf das du zugreifen möchtest, korrekt benannt ist. Überprüfe auch, ob das Arbeitsblatt existiert.
  • Fehler: "Index außerhalb des gültigen Bereichs."

    • Lösung: Dies kann auftreten, wenn du versuchst, auf eine Zellreferenz zuzugreifen, die nicht existiert. Achte darauf, dass die Zeile und Spalte innerhalb der Grenzen deiner Tabelle liegen.

Alternative Methoden

Eine alternative Methode wäre die Verwendung der Range-Objekte in Kombination mit Offset. Hier ein Beispiel:

Sub SchreibenMitOffset()
    Range("P12").End(xlToRight).Offset(0, 1).Value = "Neuer Text"
End Sub

Diese Methode verwendet End(xlToRight), um die letzte gefüllte Zelle in Zeile 12 zu finden und dann den Text in die danebenliegende Zelle zu schreiben.


Praktische Beispiele

  1. Schreiben in die nächste Spalte einer bestimmten Zeile:

    Sub Beispiel1()
        Dim LastS As Long
        LastS = Cells(12, 256).End(xlToLeft).Column + 1
        Cells(12, LastS).Value = "Beispiel"
    End Sub
  2. Navigieren von der letzten Spalte drei Zeilen nach unten:

    Sub Beispiel2()
        Range("P12").End(xlToRight).Offset(3, 0).Select
    End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang deiner VBA-Module, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.
  • Experimentiere mit der Selection-Eigenschaft, um mehrere Zellen auszuwählen, wenn du mit großen Datenmengen arbeitest.
  • Nutze Debug.Print, um Werte in das Immediate-Fenster auszugeben, was dir hilft, den Verlauf deiner Variablen zu verfolgen.

FAQ: Häufige Fragen

1. Wie ermittele ich die letzte Zeile in einer Excel-Tabelle?
Verwende den Code LastRow = Cells(Rows.Count, 1).End(xlUp).Row, um die letzte gefüllte Zeile in der ersten Spalte zu ermitteln.

2. Kann ich auch die letzte Spalte in einer bestimmten Zeile ermitteln?
Ja, das kannst du mit LastS = Cells(12, Columns.Count).End(xlToLeft).Column tun, um die letzte gefüllte Spalte in Zeile 12 zu finden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige