Microsoft Excel

Herbers Excel/VBA-Archiv

Zeile einfügen nach Bedingung

Betrifft: Zeile einfügen nach Bedingung von: Zebra
Geschrieben am: 13.11.2014 21:06:01

Ich habe eine Liste mit Aufträgen die ich von einer zweiten Liste importiere. Ich lösche unnötige Zeile und färbe einige Zeile ein mit dem Makro. Jetzt möchte ich die Aufträge etwas auseinanderhalten, ich möchte die Aufträge nach Wochen trennen, Trenntag ist der Freitag. Nach jeder Kalenderwoche wird nach dem Freitag eine Zeile eingefügt. Wie kann ich das Lösen? Die Dateien sind Hochgeladen.
https://www.herber.de/bbs/user/93759.xls
https://www.herber.de/bbs/user/93760.xlsm

Besten Dank für die Hilfe

  

Betrifft: AW: Zeile einfügen nach Bedingung von: yummi
Geschrieben am: 14.11.2014 09:24:05

Hallo Zebra,

mal angenommen, es geht um Spalte E in der Du feststellen willst, welcher wochentag vorliegt.


Dann =WOCHENTAG(E7;2) für Zeile 7 liefert dir 1-5 für Mo bis Fr und 5 und 6 für Wochenende.

letztezeile = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
for i = 3 to letzteZeile
    if Sheets("Tabelle1").Cells(i,16).Formular= "=Weekday(Sheets("Tabelle1").Cells(i,5);2)" = 5  _
then
        letzteZeile = letzteZeile + 1
        Sheets("Tabelle1").Rows(i+1 & ":" & i+1).Insert Shift:=xlDown, CopyOrigin:= _
xlFormatFromLeftOrAbove
    end if
next i

Ist ungetestet, sollte aber passen

Gruß
yummi


  

Betrifft: AW: Zeile einfügen nach Bedingung von: Zebra
Geschrieben am: 17.11.2014 19:40:19

Hallo Yummi
Das hört sich ja nicht schlecht an. Da es sich hier um Aufträge handelt habe ich mehrere Aufträge in den Zeilen mit mermals dem gleichen Enddatum. Also meine Zeile die ich einfügen möchte ist immer unterhalb einem solchen Block. Ich muss also herausfinden welche Aufträge den Termin vom letzten Freitag überschritten haben (Rückstände) und dann die nächsten Freitage um die Kalenderwochen zu trennen.


 

Beiträge aus den Excel-Beispielen zum Thema "Zeile einfügen nach Bedingung"