Dynamische Blockbildung und Neuanordnung Zelleinträge
#1
Hallo Zusammen,

eine leichte oder knifflige? Excel Frage, an die Experten hier.

Anbei siehe Bild, möchte ich die variablen Einträge (gehen immer von ProjektNr bis ProjektNr) in Spalte T und U, blockweise nebeneinander schreiben, (1 Block pro 2 Spalten) Ich habe meine Idee versucht anhand von 3 Beispielen farblich zu codieren, obschon ich mich auf die ganze Spalte T und U beziehen möchte.
Ich sehe die Schwierigkeit darin, die Abbruchbedingung pro Block, die ja in de Länge dynamisch ist, in einer Formel zu erzeugen.

Kann jmd helfen?

Beste Grüße

Manfred


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hi,

wenn man das als Tabelle hätte, könnte man darüber nachdenken, eine Lösung zu konstruieren.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hi

einfach mit einer Hilfsspalte. Formel in C3    =WENN(B3="";C2+1;C2)
Dann für die Blöcke die Funktion Filter verwenden.
Code:
____|___A___|_B|C|D|E|F|
   1|       |  | | | | |
   2|       |  | | | | |
   3|Pro 1  |  |1| | | |
   4|Text 1 | 1|1| | | |
   5|Text 2 | 2|1| | | |
   6|Text 3 | 3|1| | | |
   7|Pro 2  |  |2| | | |
   8|Text 4 | 4|2| | | |
   9|Pro 3  |  |3| | | |
  10|Text 5 | 5|3| | | |
  11|Text 6 | 6|3| | | |
  12|Text 7 | 7|3| | | |
  13|Text 8 | 8|3| | | |
  14|Text 9 | 9|3| | | |
  15|Text 10|10|3| | | |
  16|Text 11|11|3| | | |
  17|Pro 4  |  |4| | | |
  18|Text 12|12|4| | | |
  19|Text 13|13|4| | | |
  20|Text 14|14|4| | | |
Gruß Elex
Antworten Top
#4
Hallo,

hier ein VBA-Ansatz:

Code:
Sub T_1()
Dim rng As Range, r As Range, Bl As Range, ZL As Range

Set ZL = Range("V2")

Set rng = Range("U2:U" & Cells(Rows.Count, "U").End(xlUp).Row)

For Each r In rng.SpecialCells(xlCellTypeBlanks)
    Set Bl = Range(r.Offset(, -1), r.Offset(1).End(xlDown))
    Bl.Copy ZL
    Set ZL = ZL.Offset(, 2)
Next r
End Sub

mfg


Angehängte Dateien
.xlsm   CEF MTC Block.xlsm (Größe: 15,83 KB / Downloads: 3)
Antworten Top
#5
Danke alle alle Antwortenden!

Mit dem VBA Code konnte ich mein Problem lösen

Beste Grüße
Antworten Top
#6
Eine dynamische Tabelle (ab Zelle A1) mit 3 Spalten (Projekt, Resource A, Resource B) wäre viel besser
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Hallo Fennek,

Nachtrag;

Dein Ansatz hat tatsächlich recht gut funktioniert, allerdings ist mir noch eine Unstimmigkeit aufgefallen.
In Screenshot 2 siehst Du, dass leider "Projekt2" mit seinen Einträgen nochmals unter "Projekt1" kopiert wird.  
Das wäre noch das was nicht ganz passen würde. Ansonsten top!

Ich war so frei und habe im Code noch V2 durch W2 ersetzt (siehe Screenshot VBA), damit die kopierten Spalten etwas Abstand haben. Aber das hatte keinen Einfluss auf die verbleibende Auffälligkeit.

Danke und beste Grüße


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#8
Jo, der Code erfordert mindestens 2 Zeile unterhalb des Projekt-Namens.
Antworten Top
#9
Mit einer weiteren Abfrage geht es:

Code:
Sub T_1()
Dim rng As Range, r As Range, Bl As Range, ZL As Range

Set ZL = Range("V2")

Set rng = Range("U2:U" & Cells(Rows.Count, "U").End(xlUp).Row)

For Each r In rng.SpecialCells(xlCellTypeBlanks)
    If Not VBA.IsEmpty(r.Offset(2)) Then
        Set Bl = Range(r.Offset(, -1), r.Offset(1).End(xlDown))
    Else
        Set Bl = Range(r.Offset(, -1), r.Offset(1))
    End If
    
    Bl.Copy ZL
    Set ZL = ZL.Offset(, 2)
Next r
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • MCT1979
Antworten Top
#10
Perfekt!

Nochmals vielen Dank für die kompetente und vor allem schnelle Hilfe!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste