Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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

Makro zum finden von der letzten Spalte

Makro zum finden von der letzten Spalte
27.04.2018 12:59:45
der
Hallo,
ich hätte eine Aufgabe, welche ich nicht lösen kann. Ich habe eine Tabelle in den Zeilen mit einer Artikelnummer und in der Spalte mit einem Datum. Als Werte werden die Verkaufswerte angezeigt. Jetzt habe ich das Problem, dass z.B. zum 03.01.2018 unter dem Artikel 1 zwei Werte stehen (Wert alt und neu jeweils in einer eigenen Spalte) und dieser Wert sind auch Gültig für den Zeitraum davor oder danach. Ganz konkret möchte ich, dass das Makro Zeile für Zeile durchläuft (Anzahl der Zeilen sind variabel) und immer die Spalte sucht in dieser der letzte Wert steht. Wenn das Makro diese Zelle gefunden hat, dann soll das Makro diese Zelle kopieren und nach rechts verschieben solange wie in der Überschriftszeile ein Datum steht. Das wäre der erste Teil, zugleich soll das Makro von dieser gefunden Zelle eins nach links gehen dort steht auch ein Wert und diesen nach links kopieren bis er auf eine Zelle mit einem Wert trift. Wenn das passiert, dann muss das Makro eine Zelle nach links gehen und diesen Wert kopieren und wieder nach links einfügen. Schluss soll sein, wenn das Makro die Spalte B erreicht und alle Zeilen durchlaufen hat. Denn in Spalte A stehen die Artikelnummern.
Danke schon mal für die Beantwortung meiner Frage.
Gruß
Christoph

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum finden von der letzten Spalte
27.04.2018 22:44:21
der
Hallo Christoph,
wenn ich deine Anforderung richtig verstanden habe, dann kannst du das mit dem folgenden Programm machen.
Sub Auffüllen()
Dim letzteSpalte As Long
Dim letzteSpalteÜ As Long
Dim letzteZeile As Long
Dim spalte As Long
Dim wert As Currency
Dim zeile As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Artikel")
letzteSpalteÜ = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
letzteZeile = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For zeile = 2 To letzteZeile
letzteSpalte = ws.Cells(zeile, ws.Columns.Count).End(xlToLeft).Column
' Nach rechts auffüllen
If letzteSpalte > 1 Then
If letzteSpalte  2 Then
spalte = letzteSpalte - 1
wert = ws.Cells(zeile, spalte)
Do Until spalte 
Falls ich dich missverstanden habe, dann wäre es am besten, wenn du eine Beispielmappe hochladen würdest. Dabei solltest du die Ausgangssituation und die gewünschte Endsituation darstellen.
Viele Grüße
Dieter
Das Programm und meine Datenstruktur findest du hier
https://www.herber.de/bbs/user/121332.xlsm
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige