Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA letzter befuellter Wert in einer Zeile auslese

VBA letzter befuellter Wert in einer Zeile auslese
13.03.2018 12:35:16
ThoScho
Hallo liebe Forum Gemeinschaft
Ich habe da ein kleine Problem und hoffe ihr könnt mir da weiter helfen.
Ich importiere eine Tabelle, die immer unterschiedlich groß sein kann.
Vor einer bestimmten Spalte in der Tabelle füge ich eine neue Spalte ein und will in dieser den quasi "aktuellsten" Wert aus den nachfolgenden Spalten eintragen. Diese neueSpalte würde nun Beispielsweise "Aktuell" heißen.
Nun soll in meine "Aktuell" Spalte immer der am aktuellste, also der Wert in der am weitesten rechts stehenden, ausgefüllten Spalte eingetragen werden. Wenn es dort keinen Wert gibt, dann soll auch natürlich nichts eingetragen werden.
Allerdings ist diese Zelle dann nicht die letzte in der Spalte in der Tabelle. Die Tabelle wird daneben fortgesetzt.
Ich habe gesagt bekommen, dass man das Ganze mit dieser Excel Funktion lösen könne:
=WENNFEHLER(INDEX(A3:H3;AGGREGAT(14;6;SPALTE(B3:H3)/((B3:H3)"");1));"")
Alldings ist es etwas schwierig dieses in VBA umzusetzen und es auch noch variabel zu gestalten. Die Anzahl der Spalten die durchsucht werden müssten sind immer unterschiedlich.
Hat jemand einen Vorschlag wie man das lösen kann?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA letzter befuellter Wert in einer Zeile auslese
14.03.2018 04:11:38
fcs
Hallo ThoScho,
hier mal ein Ansatz.
Sub aaFormeln_fuer_aktuellsten_Wert_rechts()
Dim wks As Worksheet
Dim Zeile_T As Long, Zeile_1 As Long, Zeile_L As Long, Spalte As Long, Spa_L As Long
Set wks = ActiveSheet
Spalte = 5              'Spalte E - Spalte vor der Formel eingefügt werden soll
Zeile_T = 2             'Zeile mit Spaltentitel
Zeile_1 = Zeile_T + 1   '1. Datenzeile
With wks
Spa_L = 26           'Spalte Z - letzte von der Formel zu erfassende Spalte _
wenn variabel. dann muss die Nummer der Spalte irgendwie ermittelt werden
Zeile_L = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If Zeile_L > Zeile_T Then
.Columns(Spalte).Insert
.Cells(Zeile_T, Spalte) = "aktuell"
.Range(.Cells(Zeile_1, Spalte), .Cells(Zeile_L, Spalte)).FormulaR1C1 = _
"=IFERROR(INDEX(RC[1]:RC" & Spa_L & ",1,AGGREGATE(14,6,COLUMN(RC[1]:RC" & Spa_L _
& ")/((RC[1]:RC" & Spa_L & ")""""),1)-COLUMN()),"""")"
Else
MsgBox "Keine Daten ab Zeile " & Zeile_1, vbOKOnly, "Formeln einfügen"
End If
End With
End Sub

... Die Anzahl der Spalten die durchsucht werden müssten sind immer unterschiedlich. ...
Wenn die Zahl der Spalten, die die Formel erfassen soll, bei jeder importierten Datei anders ist, dann muss die Nummer der Spalte entsprechend vorzugebender Kriterien vom Makro noch ermittelt werden.
Gruß
Franz
Anzeige
AW: VBA letzter befuellter Wert in einer Zeile auslese
14.03.2018 10:56:48
ThoScho
Vielen Dank fcs !
Mit ein paar kleinen Modifikationen konnte ich es super in mein Makro einbauen.

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige