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

Letzte Zeile ohne Formel finden

Letzte Zeile ohne Formel finden
06.02.2019 10:36:13
Christian
Hallo schon wieder,
ich möchte in einem Tabellenblatt in der Spalte B ab B7 bis B100 den Inhalt der Zellen überprüfen. In den Zellen stehen Formeln die im Normalfall leer "" sind, aber natürlich gibt es da auch Werte aus anderen Tabellenblättern die dorthin übertragen werden.
Nun soll im Tabellenblatt die letzte Zelle mit (numerischen) Inhalt gefunden werden, der Bereich wieder zurück nach "oben" bis Spalte N7 markiert werden und die Formeln "gelöscht" werden und der Inhalt der Zellen übernommen werden (.value = .value). Quasi das, was ich auch machen würde, wenn ich kopiere und dann nur die Werte einfüge.
Ich hab das gefunden ->
https://www.herber.de/forum/archiv/1036to1040/1039758_VBA_letzte_Zeile_Ermitteln.html
hilft mir aber nicht weiter.
So habe ich es probiert,
Sub Bereich_Formelweg()
Dim wS As Worksheet
maxZeile = WorksheetFunction.Match("", Sheets("Februar").Columns("b"), -1) - 1
For Each wS In ActiveWorkbook.Windows(1).SelectedSheets
With wS.Range("b7" & maxZeile & ":N" & maxZeile & "")
.Interior.ColorIndex = 3  'zum testen was passiert!!!
'.Value = .Value
End With
Next wS
End Sub

Vielleicht kann mir ja jemand helfen.
Danke
Christian

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile ohne Formel finden
06.02.2019 10:40:57
Rainer
Evtl. so?
maxZeile = 7
For i = 7 to 100
if Cells(i,2)  "" Then maxZeile = i
Next i
Gruß,
Rainer
AW: Letzte Zeile ohne Formel finden
06.02.2019 11:09:33
Christian
Hallo Rainer,
wie sähe denn der Ganze Code aus? V.a. das bei "With wS.range...."
Gruß
Christian
AW: Letzte Zeile ohne Formel finden
06.02.2019 11:24:13
Rainer
Wahrscheinlich so, ich habe es aber mangels Beispieldatei nicht getestet.
Sub Bereich_Formelweg()
Dim wS As Worksheet
For Each wS In ActiveWorkbook.Windows(1).SelectedSheets
maxZeile = 7
For i = 7 to 100
if wS.Cells(i,2)  "" Then maxZeile = i
Next i
N = 14
With wS.Range(wS.Cells(7,2),wS.Cells(N,maxZeile))
.Interior.ColorIndex = 3  'zum testen was passiert!!!
'.Value = .Value
End With
Next wS
End Sub

Anzeige
AW: Letzte Zeile ohne Formel finden
06.02.2019 12:20:02
Christian
Hallo Rainer,
nein, leider funktioniert das nicht. Der Arbeitsbereich bei dieser Funktion erstreckt sich von B7 bis I14. Und ob in der Zelle eine Formel oder etwas anderes steht funktioniert nicht. Sobald ich das .value wieder aktiviere sind alle "leeren" Formeln auch furt, und es ist kein Inhalt mehr vorhanden.
Gruß
AW: Letzte Zeile ohne Formel finden
06.02.2019 13:02:02
Rainer
Hallo Christian,
dann ist deine Beschreibung falsch. Du hast offenbar zwischen den Werten auch leere Zellen. Dann kannst du es nicht mit "Range" machen.
Ich vermute mal das Werners Lösung hilft. Wenn nicht, dann bitte mit Beispieldatei!
Gruß,
Rainer
Anzeige
AW: Letzte Zeile ohne Formel finden
06.02.2019 15:47:24
Christian
Hallo Rainer,
ja, das ist richtig. Da wären tatsächlich auch leere Zeilen.
Danke trotzdem
Christian
per Formel: letzte numerische Zelle ohne Formel
06.02.2019 10:52:34
WF
Hi,
folgende Arrayformel:
{=MAX(ISTZAHL(B7:B100)*NICHT(ISTFORMEL(B7:B100))*ZEILE(X7:X100))}
WF
AW: per Formel: letzte numerische Zelle ohne Formel
06.02.2019 12:09:51
Christian
Hallo WF,
wohin muss denn diese MatrixFormel?
Gruß
? wo Du willst ?
06.02.2019 12:20:26
WF
.
AW: ? wo Du willst ?
06.02.2019 12:32:52
Christian
Hab ich probiert, Formel bleibt aber leider Formel
Was macht diese Funktion, und was hat das mit der ZEILE X7 auf sich?
=MAX(ISTZAHL(B7:B100)*NICHT(ISTFORMEL(B7:B100))*ZEILE(x7:x100))
AW: hierzu ...
06.02.2019 12:37:52
neopa
Hallo Christian,
... WF hat offensichtlich nur einen Teil Deiner Ausgangsfragestellung bei seiner Antwort in Erinnerung gehabt. Die letzte Zahl kann man mit Formel einfacher mit =VERWEIS(9^99;B7:B100) und dessen zugehörige Zeilennummer mit =VERWEIS(9^99;B7:B19;ZEILE(B7:B100)) ermitteln. Deine eigentliche Zielstellung kannst Du aber nur mit VBA erreichen. Aus VBA halten sich sowohl WF und ich jedoch außen vor.
Gruß Werner
.. , - ...
Anzeige
AW: hierzu ...
06.02.2019 12:45:57
Christian
Ah, ich dachte mir das schon. Nur VBA.
Danke trotzdem
Gruß
AW: hierzu ...
06.02.2019 12:56:52
Werner
Hallo Christian,
meinst du das:
Sub Schaltfläche1_Klicken()
Dim raZelle As Range
'Blattname anpassen
For Each raZelle In Worksheets("Tabelle1").Range("A7:N100")
If raZelle.Value  "" Then
raZelle.Value = raZelle.Value
End If
Next raZelle
End Sub
Gruß Werner
AW: Du bist der Beste
06.02.2019 13:00:11
Christian
Ha,
ja genau das.
Danke Werner, du bist der Beste!!!
Gruß
Christian
Gerne u. Danke für die Rückmeldung. o.w.T.
06.02.2019 13:03:58
Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen