online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon wmei vom 23.03.2021, 13:23 Options

Lösung

Excel letzte beschriftete Zelle finden

Hallo an Alle,
ich benötige Eure Hilfe.
Ich möchte in Spalte A ab Zelle 8 die letzte Zelle mit einem
Wert finden.
In den Zeilen von 8 bis 180 steht eine Formel,
Die Funtion "Range("A8:A" & Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row).Select"
findet aber nur die Zeile 180 wo die letzte Formel steht.
Danke
wim


Antwort schreiben

Antwort 1 von bitfix vom 23.03.2021, 14:47 Options

Zu einer Formel gehört natürlich auch ein Wert.
Also nach welchen Werten suchst du dann?
Soll die letzte Zelle mit dem Wert '0' gefunden werden?

Antwort 2 von wmei vom 23.03.2021, 16:27 Options

Hallo bitfix,
die Formel ist eine WENN- Bedingung.
Wenn nicht erfüllt dann "", danach suche ich.
Die dann leeren Zellen sollenn nicht kopiert werden.
wim

Antwort 3 von coros vom 24.03.2021, 06:24 Options

Hallo wim,

versuche es mal mit nachfolgendem Makro. Hier wird mit einer While/Wend-Schleife von Zeile 180 in Spalte A abwärts geprüft, ob der Wert in der Zelle 0 ist. Stimmt dieses Kriterium, ist das die letzte Zeile und die Schleife wird beendet.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Letzten_Zelle_mit_Wert()
    Dim intLastRow As Integer
    intLastRow = 180
    While Cells(intLastRow, 1) = 0
        intLastRow = intLastRow - 1
    Wend
    MsgBox intLastRow
End Sub

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von rainberg vom 24.03.2021, 07:37 OptionsLösung

Lösung
Hallo wim,

angesichts Deiner Info in AW3 würde ich folgenden Code vorschlagen.

Option Explicit

Sub Letzten_Zelle_mit_Wert()
    Dim rngZelle As Range, intZeile As Integer
    For Each rngZelle In Range("A8:A180")
        If rngZelle.Value <> "" Then
            intZeile = rngZelle.Row
        End If
    Next
    MsgBox intZeile
End Sub


Gruß
Rainer

Antwort 5 von wmei vom 24.03.2021, 08:48 Options

Hallo Oliver, hallo Rainer,
das klappt soweit großes Danke an Euch beide.
Bei Rainer's Formel muß anstatt =0, ="" eingesetzt werden,
sonst bringt er ebenfalls nur die Zeile mit der letzten Formel.
Ich bin nur Amateur, mein Problem mit Euren Formeln ist dann gleich wieder sie so umzulegen , daß die Zellen direkt markiert
werden, so wie es "meine"Formel (von nighty abgekupfert) tut.
Schönen Tag noch,
wim

Antwort 6 von rainberg vom 24.03.2021, 09:06 Options

Hallo wim,

folgender Code färbt Dir die letzte Wertezelle rot.

Option Explicit

Sub Letzten_Zelle_mit_Wert()
    Dim rngZelle As Range, rngBer As Range, intZeile As Integer
    Set rngBer = Range("A8:A180")
    rngBer.Interior.ColorIndex = xlNone
    For Each rngZelle In rngBer
        If rngZelle.Value <> "" Then
            intZeile = rngZelle.Row
        End If
    Next
    Cells(intZeile, 1).Interior.ColorIndex = 3
End Sub


Gruß
Rainer

Antwort 7 von wmei vom 24.03.2021, 09:20 Options

Hallo Rainer,
ich hab mich falsch ausgedrückt.
Mit markieren meine ich "Bereich markieren", für den nächsten Schritt zB. kopieren.
Das Finden des Bereiches ist immer nur die Vorbereitung eines
weiteren Schrittes und macht für mich das Makro dynamisch,
dh., ich muß nicht immer eine feste Zelle anspringen und mich
mit offset weiter bewegen. Ich hoffe Du erkennst was ich meine.
MfG
wim
PS
das mit =0 und ="" war nicht bei Dir sondern bei Oliver
sorry

Antwort 8 von rainberg vom 24.03.2021, 09:30 Options

Hallo wim,

etwas deutlicher könnte es schon sein.
Was verstehst Du unter "feste Zelle" ?
Welchen Bereich willst Du markieren und kopieren?
Bitte arbeite bei der Fragestellung mit Zell- und Bereichsadressen.

Gruß
Rainer

Antwort 9 von wmei vom 24.03.2021, 10:09 Options

Hallo Rainer,
ich habe eine Liste mit 180 Zeilen. In der Spalte A wird der Wert erzeugt der den Text in weiteren Spalten bewirkt.
Vor jedem Ausdruck ändert sich die Anzahl der Zeilen die
einen Wert enthalten. Mit der Formel markiere ich einfach das
Druckbereich um Leerzellen beim Ausdruck zu vermeiden oder
die Werte zu kopieren wenn ich das Formular zu einem bestimmten Zeitpunkt speichern möchte.
MfG
wim

Antwort 10 von rainberg vom 24.03.2021, 11:12 Options

Hallo wim,

wenn ich Dich richtig verstehe, willst Du nichts anderes als den Druckbereich dynamisch anzupassen, wobei das Kriterium der letzte Wert in Spalte A sein soll.
Das geht nach meiner Meinung auch ohne Makro, wenn man eine Bereichsnamen definiert.
Dazu müsste ich aber wissen, wie die Formel in Spalte A lautet und ob das Formelergebnis ein Zahlen- oder Textwert ist.

Gruß
Rainer

Antwort 11 von wmei vom 24.03.2021, 12:05 Options

Hallo Rainer,
das trifft den Nagel auf den Kopf in diesem Fall.
Wenn ich ein festes Druckbereich habe, steht in der Fußzeile
zB. "Seite 1 von 5" obwohl nur auf der ersten Seite wirklich
Daten stehen. Aus diesem Grund möchte ich in diesem Fall
nurt das Bereich markieren das Daten enthält.
Da meine Programierkenntnisse aber auf der Basis von
learn by doing entstanden sind und noch entstehen
benutze ich solche funtionierenden Sequenzen gern auch
für andere Zwecke.
Zu Deinen Fragen:
Der Wert in A ist ein Textwert nach folgendem Muster AX HTP30.
Die Formel lautet:WENN(ZEILEN($E$9:E166)>$I$1;"";SVERWEIS($G$1;INDIREKT(VERKETTEN(ADRESSE(VERGLEICH(Schmierplan!$G$1;Daten!$C$4:$C$787;0)+2+ZEILEN($F$8:F165);3;4;1;"Daten");":";ADRESSE(Schmierplan!$I$1+1+VERGLEICH(Schmierplan!$G$1;Daten!$C$3:$C$787;0);5;1;1)));3;FALSCH))
MfG
wim

Antwort 12 von rainberg vom 24.03.2021, 13:31 Options

Hallo wim,

verfahre wie folgt:

- öffne Deine Arbeitsmappe und hebe den bestehenden Druckbereich auf
- wähle im Menü "Einfügen" das Untermenü "Namen" und dort "Namen definieren"
- im erschienenen Fenster gibst Du unter "Namen" den Namen "Druckbereich" (ohne Gänsefüsschen) ein
- unter "Bezieht sich auf:" gibst Du folgende Formel ein, bestätigst mit "Übernehmen" und schließt das offene Fenster.

=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;MAX((Tabelle1!$A$1:$A$180<>"")*ZEILE(Tabelle1!$1:$180));7)

Mit der letzten Zahl in der Formel, hier die 7, wird die letzte Spalte des Druckbereches bestimmt 7 = Spalte G (kannst Du beliebeig anpassen)

Nun sollte sich Dein Druckbereich ohne weiteres Zutun immer auf die Zeile letze Wertrezeile der Spalte A einstellen

Falls Du ein Makro in der Datei hast, welches auch den Druckbereich beeinflusst, lösche es vor der ganzen Aktion.

Gruß
Rainer

Antwort 13 von wmei vom 24.03.2021, 14:58 Options

Hallo Rainer,
hab's probiert, ich arbeite mit Office 2003.
Er übernimmt es einfach nicht.
1. Warum ist in Bereich nur eine Zelle angegeben
BEREICH.VERSCHIEBEN(Tabelle1!$A$1;
Gruß
wim

Antwort 14 von wmei vom 24.03.2021, 15:14 Options

Hallo Rainer,
sorry alles klar, ich hab immer darauf gewartet, daß er im Namensfeld links oben, wo man normalerweise das Druckbereich
anwählen kann, erscheint.
Es erscheint da nicht, funtioniert aber tadellos.
mit dieser dieser Brille habe ich "Bereich.Verschieben" noch nicht
gesehen.

Danke und großes Lob
wim

Antwort 15 von rainberg vom 24.03.2021, 15:20 Options

Hallo wim,

bei mir geht's, Formel ist getestet.
Leider kann ich nicht auf Deinen Rechner schauen.

Zitat:
1. Warum ist in Bereich nur eine Zelle angegeben
BEREICH.VERSCHIEBEN(Tabelle1!$A$1;


..... der Schein trügt, es ist nicht nur eine Zelle angegeben, $A$1 ist nur die Zelle von der die Funktion ausgeht.

Du solltest Dir die Syntax von BEREICH.VERSCHIEBEN mal in der Hilfe anschauen, ich verkneife es mir diese hier zu erläutern.

Gruß
Rainer

Ähnliche Themen

VBA Acktive Spalte letzte Zelle finden
Marco79  19.09.2007 - 90 Hits - 3 Antworten

Excel: In einem Bereich eine Zelle mit Inhalt finden
jojo5  07.12.2007 - 164 Hits - 6 Antworten

Auf letzte Zelle mit Inhalt zugreifen
Quad69  18.08.2008 - 99 Hits - 2 Antworten

Makro: letzte Zeile finden, auch bei Filter
Michigan  04.09.2008 - 95 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026