Neu: Innerhalb einer Zeile filtern? Array?

Hallo Leute,

habe meine Beispieldatei hochgeladen unter:
http://www.hostarea.de/server-07/Juli-066041072b.xls

Das erste Sheet zeigt die eingegebenen Daten, das zweite eine Ansicht (Quartalsübersicht) daraus. Hier möchte ich eine Übersicht darstellen, wann welche Abteilung eine Projektphase RO startet. Weil das von 5 Abteilungen zu verschiedenen oder aber auch zu gleichen (!) Zeitpunkten gemacht werden kann, habe ich 5 x ein Datum und dazu 5 x die Abteilung. Ich habe kein Problem, wenn jede Abteilung in einem unterschiedlichen Quartal und Jahr liegt. Wenn aber 2 oder 3 Abteilungen gleichzeitig starten, möchte ich das Projektkürzel (oder auch ein Symbol) nur einmal in diesem Quartal sehen und die Abteilungen dahinter schreiben.
Das Ganze mache ich dann natürlich über einen Loop für jede Zeile bzw. Projekt.
Wie aber finde ich heraus, welche Starts mit welcher Abteilung im gleichen Quartal des gleichen Jahres liegen? Benötige ich dazu ein Array? Mag ja Reinhard nicht!
Hoffe, es ist jetzt klarer geworden??

Viele Grüße und danke für Hilfe
Tina

http://www.hostarea.de/server-07/Juli-066041072b.xls
Hoffe, es ist jetzt klarer geworden??

Hi Tina,

die beiden Blätter passen m.E. doch nicht zusammen. Im Blatt1 wird das Jahr 2007 nie erwähnt, hat aber in den Quartalen in Blatt2 Eintragungen.

Bei 2009 ist das anders rum, das hat in Blatt1 Eintragungen wird aber in Blatt2 nicht erwähnt.

May be ich sehe den Wald vor lauten Bäumen nicht, aber ich verstehe derzeit nur noch das Gebäude wo die Bahnhofsuhr dranhängt *gg*

Und wenn ich drum bitte mehr Daten einzugeben, so habe ich von 50 mal 1/1900 zu sehen nix :frowning:

Gruß
Reinhard

Hoffe, es ist jetzt klarer geworden??

Ehrlich gesagt - eher nein.
Ich hätte wohl eine solche Projektübersicht anders aufgebaut.
Ein großer Quartalskalender mit Einträgen in die Quartals-Flächen.
5 Projekte im selben Quartal?
Kein Problem…

mfG Hermes

Hoffe, es ist jetzt klarer geworden??

Ehrlich gesagt - eher nein.
Ich hätte wohl eine solche Projektübersicht anders aufgebaut.
Ein großer Quartalskalender mit Einträgen in die
Quartals-Flächen.
5 Projekte im selben Quartal?
Kein Problem…

Das ist mir schon klar, aber in der Tabelle stehen ja noch mehr Daten. Und die Vorgabe war leider, dass die Eingabe als ganz normales Datum erfolgt, nicht bereits in einem Kalender. Die Ansichten sind auch vordefiniert. Ich habe immer auch ein Startdatum, damit das auch als Phasendiagramm funktioniert. Es sind ja auch nicht 5 Projekte, sondern Phasen innerhalb eines Projektes.

mfG Hermes

Danke und Grüße
Tina

http://www.hostarea.de/server-07/Juli-066041072b.xls
Hoffe, es ist jetzt klarer geworden??

Hi Tina,

die beiden Blätter passen m.E. doch nicht zusammen. Im Blatt1
wird das Jahr 2007 nie erwähnt, hat aber in den Quartalen in
Blatt2 Eintragungen.

Du hast Recht, ich habe die Daten nicht gemäß der ersten Tabelle dargestellt. Völlig bescheuert!!! Habe wohl zu viel um die Ohren… Entschuldige bitte, so kann das kein Mensch verstehen.

Bei 2009 ist das anders rum, das hat in Blatt1 Eintragungen
wird aber in Blatt2 nicht erwähnt.

May be ich sehe den Wald vor lauten Bäumen nicht, aber ich
verstehe derzeit nur noch das Gebäude wo die Bahnhofsuhr
dranhängt *gg*

Das ist ja auch nicht so einfach, wenn man die Hintergründe nicht kennt!

Und wenn ich drum bitte mehr Daten einzugeben, so habe ich von
50 mal 1/1900 zu sehen nix :frowning:

Das liegt daran, dass Excel beim Berechnen des Quartals ein leeres Datum einfach in 1900 umsetzt. Keine Ahnung, wie ich das herausbekomme.

Gruß
Reinhard

Bitte nochmal schauen? Ist es jetzt hoffentlich logischer?
http://www.hostarea.de/server-07/Juli-9fc2a7c8d5.xls

Danke!
Tina

Hi Tina,

Und wenn ich drum bitte mehr Daten einzugeben, so habe ich von
50 mal 1/1900 zu sehen nix :frowning:

Das liegt daran, dass Excel beim Berechnen des Quartals ein
leeres Datum einfach in 1900 umsetzt. Keine Ahnung, wie ich
das herausbekomme.

kriegt man auch hin, erstmal das Ursprungsproblem lösen.

Bitte nochmal schauen? Ist es jetzt hoffentlich logischer?
http://www.hostarea.de/server-07/Juli-9fc2a7c8d5.xls

Wegen der Aufgabenstellung ja, aber wieso sind da die Schriftarten Wingdings 2 und Polo? Ich wußt gar nicht daß ich ne Schriftart von VW hab :smile:

Und, du hast da eine Funktion drin, ich hab sie ein bißchen gekürzt.

Sub test()
MsgBox SName(126)
End Sub

Function SName(ByVal sp As Integer) As String
SName = Split(Cells(1, sp).Address, „$“)(1)
End Function

Und2, ja, eine Array-Lösung oder eine Pivot-Lösung kann ich dir nicht bieten.

Eine Vba-Lösung schon, aber erst morgen/übermorgen *müdbin*

Gruß
Reinhard

Danke!
Tina

Hi Tina,

Das liegt daran, dass Excel beim Berechnen des Quartals ein
leeres Datum einfach in 1900 umsetzt. Keine Ahnung, wie ich
das herausbekomme.

hab ich korrigiert.

Bitte nochmal schauen? Ist es jetzt hoffentlich logischer?
http://www.hostarea.de/server-07/Juli

Die Datei: http://www.hostarea.de/server-07/Juli-424f261456.xls
hat in Modul1 folgenden Code, wegen deiner verbundenen Zellen (müssen
die sein?) finktioniert der Befehl Autofit (entspricht
Format–Spalte–optimale Breite) nicht richtig:

Option Explicit
Option Base 1
'
Sub Quart()
Dim wksM As Worksheet, ZeiM As Long, SpaM As Long, SpaQ As Long, ZeiQ As Long
Set wksM = Worksheets("Master")
With Worksheets("Quartalsübersicht2")
 .Range("D4:BK30").ClearContents
 For SpaM = 6 To 18 Step 3
 For ZeiM = 3 To wksM.Cells(Rows.Count, SpaM).End(xlUp).Row
 ZeiQ = Application.WorksheetFunction.Match(CStr(Replace(wksM.Cells(ZeiM, 3), "c", "k")), .Columns(1), 0)
 SpaQ = Application.WorksheetFunction.Match(Year(wksM.Cells(ZeiM, SpaM)), .Rows(1), 0)
 SpaQ = SpaQ + (Quartal(wksM.Cells(ZeiM, SpaM)) - 1) \* 3
 If .Cells(ZeiQ, SpaQ) "" Then .Cells(ZeiQ, SpaQ) = .Cells(ZeiQ, SpaQ) & ","
 .Cells(ZeiQ, SpaQ) = .Cells(ZeiQ, SpaQ) & wksM.Cells(ZeiM, SpaM + 2)
 Next ZeiM
 Next SpaM
 .Range("D4:BK30").Columns.AutoFit
End With
End Sub
'
Function Quartal(ByVal Datum As Date) As Byte
Quartal = Int((Month(Datum) - 1) / 3) + 1
End Function
'
Function SName(ByVal sp As Integer) As String
SName = Split(Cells(1, sp).Address, "$")(1)
End Function

Gruß
Reinhard

Hi Tina,

Das liegt daran, dass Excel beim Berechnen des Quartals ein
leeres Datum einfach in 1900 umsetzt. Keine Ahnung, wie ich
das herausbekomme.

hab ich korrigiert.

Danke!

Bitte nochmal schauen? Ist es jetzt hoffentlich logischer?
http://www.hostarea.de/server-07/Juli

Die Datei:
http://www.hostarea.de/server-07/Juli-424f261456.xls
hat in Modul1 folgenden Code, wegen deiner verbundenen Zellen
(müssen
die sein?) finktioniert der Befehl Autofit (entspricht
Format–Spalte–optimale Breite) nicht richtig:

Nein, die verbundenen Spalten mache ich einfach zu einer! Dann habe ich eindeutig eine Spalte für das Symbol und eine für die Abteilungen.

Option Explicit
Option Base 1

Sub Quart()
Dim wksM As Worksheet, ZeiM As Long, SpaM As Long, SpaQ As
Long, ZeiQ As Long
Set wksM = Worksheets(„Master“)
With Worksheets(„Quartalsübersicht2“)
.Range(„D4:BK30“).ClearContents
For SpaM = 6 To 18 Step 3
For ZeiM = 3 To wksM.Cells(Rows.Count,
SpaM).End(xlUp).Row
ZeiQ =
Application.WorksheetFunction.Match(CStr(Replace(wksM.Cells(ZeiM,
3), „c“, „k“)), .Columns(1), 0)
SpaQ =
Application.WorksheetFunction.Match(Year(wksM.Cells(ZeiM,
SpaM)), .Rows(1), 0)
SpaQ = SpaQ + (Quartal(wksM.Cells(ZeiM, SpaM)) - 1) *
3
If .Cells(ZeiQ, SpaQ) „“ Then .Cells(ZeiQ,
SpaQ) = .Cells(ZeiQ, SpaQ) & „,“
.Cells(ZeiQ, SpaQ) = .Cells(ZeiQ, SpaQ) &
wksM.Cells(ZeiM, SpaM + 2)
Next ZeiM
Next SpaM
.Range(„D4:BK30“).Columns.AutoFit
End With
End Sub

Function Quartal(ByVal Datum As Date) As Byte
Quartal = Int((Month(Datum) - 1) / 3) + 1
End Function

Function SName(ByVal sp As Integer) As String
SName = Split(Cells(1, sp).Address, „$“)(1)
End Function

Jaa, das scheint super zu funktionieren. Wenn ich das Quartalsfeld aufteile und in die erste (schmalere) Spalte mein Symbol einfüge und in die Folgespalte (etwas größer, damit max. drei Abteilungen reinpassen) die Abteilungen, funktionierts dann immer noch?

Gruß
Reinhard

Vielen vielen Dank erstmal für die geniale Antwort!
Tina