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

Nur Montage auflisten...

Nur Montage auflisten...
31.03.2016 19:49:38
Helmut
Guten Abend,
ich möchte nur die Montage aus den Daten aufgelistet-siehe
Beispieldatei. Formel oder VBA möglich :-)
Gruß Helmut
https://www.herber.de/bbs/user/104693.xlsx

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Montage auflisten...
31.03.2016 20:04:31
Daniel
Hi
1. in Spalte C folgende Formel einfügen um für jedes Datum den Monat zu ermitteln:
=A1-WochenTag(A1,3)
2. die Formeln in Spalte C kopieren und als Wert einfügen
3. in Spalte C die Duplikate entfernen.
geht natürlich auch als Makro:
Sub test() With Range("C1:C" & Cells(Rows.Count, 1).End(xlUp).Row) .FormulaR1C1 = "=RC1-WEEKDAY(RC1,3)" .Formula = .Value .RemoveDuplicates 1 End With End Sub Eine andere Methode wäre folgene, unter nutzung des Dictionary-Objektes um die Dopplungen zu vermeiden:
Sub test()
Dim dat
Dim dicMontage
Set dicMontage = CreateObject("Scripting.dictionary")
For Each dat In Columns(1).SpecialCells(xlCellTypeConstants, 1)
dicMontage(dat.Value - WorksheetFunction.Weekday(dat.Value, 3)) = 0
Next
Cells(1, 3).Resize(dicMontage.Count) = WorksheetFunction.Transpose(dicMontage.keys)
End Sub
Gruß Daniel

Anzeige
Nachfrage..
31.03.2016 20:17:38
Helmut
Hallo Daniel,
alles getestet, alles funktioniert :-)
nur bei der Dictionary Version wird das Datum als Text und nicht als Datum ausgegeben.
Änderung möglich-wie ?
Gruß Helmut

AW: Nachfrage..
31.03.2016 20:26:48
Daniel
sicherlich ist das möglich:
dicMontage(CLng(dat.Value - WorksheetFunction.Weekday(dat.Value, 3))) = 0
Gruß Daniel

Danke Daniel- klappt natürlich ;-) owT Gruß
31.03.2016 20:32:25
Helmut

AW: alternativ mit nur einer AGGREGAT()-Formel ...
31.03.2016 20:18:41
...
Hallo Helmut,
... so (Formel ziehend nach unten kopieren):
 ABC
1Samstag, 12. März 2016 Montage der Liste
2Sonntag, 13. März 2016 Montag, 7. März 2016
3Mittwoch, 16. März 2016 Montag, 14. März 2016
4Donnerstag, 17. März 2016 Montag, 21. März 2016
5Freitag, 18. März 2016 Montag, 4. April 2016
6Freitag, 25. März 2016  
7Freitag, 25. März 2016  
8Dienstag, 5. April 2016  
9Mittwoch, 6. April 2016  
10Donnerstag, 7. April 2016  
11   

Formeln der Tabelle
ZelleFormel
C2=WENNFEHLER(AGGREGAT(15;6;(7*RUNDEN((7&1-JAHR(A$1:A$99))/7+KÜRZEN((A$1:A$99-DATUM(JAHR(A$1:A$99+3-REST(A$1:A$99-2;7)); 1;REST(A$1:A$99-2;7)-9))/7); 0)+177)/ISTNV(VERGLEICH((7*RUNDEN((7&1-JAHR(A$1:A$99))/7+KÜRZEN((A$1:A$99-DATUM(JAHR(A$1:A$99+3-REST(A$1:A$99-2;7)); 1;REST(A$1:A$99-2;7)-9))/7); 0)+177); C$1:C1;)); 1); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AGGREGAT()- what else ? Danke Werner :-) oT
31.03.2016 20:30:06
Helmut

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige