Clever-Excel-Forum

Normale Version: VBA-Code
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi liebe Experten,

ich möchte gerne einen dynamischen Report zu einem statischen Report umstrukturieren! (siehe unten)

Dynamischer Report - Ausgangsreport Spalte 1 & 2

Mustermann GmbH
Feature 4
Information 3
Total 7

Musterfrau GmbH
Service 4
Feature 5
Information 2
Error 1
Bug 5
Total 16
usw.

Statischer Report - (Wunschreport) Spalte 1 bis 7

Kunde Service Feature Information Error Bug Total
Mustermann GmbH 0 4 3 0 0 7
Musterfrau GmbH 4 5 2 1 5 16
usw.




Das Ganze würde ich am liebsten per VBA Code (Makro) lösen.

Leider bin ich noch nicht soweit, dass ich einen erstellen kann, da ich mir erst die Grundlagen aneigne, jedoch hier schon mit einer Suchfunktion und dann mit einem dynamischen Array gearbeitet werden muss.

Weiss dass der erarbeitete Code grausig ist, aber wollte es iwie selbst mal versuchen!

Set finden = Columns(1).Find(what:="Mustermann GmbH")

If Not finden Is Nothing Then

treffer = finden.Address
MsgBox finden.Value

    Do
    ReDim Preserve klausuren(2, Size)
    
    
    If finden.Value = "Mustermann GmbH" And finden.Offset(1, 0).Value = "Feature" Then
    
    Worksheets("Dynamischer Report").Range("B8").Copy Destination:=Worksheets("Statischer Report").Range("K5")
    
    ElseIf finden.Value = "Mustermann" And finden.Offset(1, 0).Value = "Information" Then
    
    Worksheets("Dynamischer Report").").Range("B7").Copy Destination:=Worksheets("Statischer Report").Range("J5")




Grüße

Semi
Hallo Semi,

erst mal ein Ansatz. Du hast ja schon die Zelle mit der GmbH. Du könntest nun eine Schleife programmieren bis eine leere Zelle kommt.
Allerdings weiß ich nicht, wieso Du B8 und B7 kopierst, daher ist das hier nicht berücksichtigt. Ich gehe hier von der Zeile aus, wo die GmbH gefunden wird. ...

For iCnt = 1 to 6
'Auswahl anhand Zellinhalt
select Case cells(finden.row+icnt,2).Value
Case "Service")
nach K kopieren
Case "Service"
nach J kopieren
...
Case "" 'bei leerer Zelle Schleife verlassen
Exit for
Next

Der nächste Step wäre dann der nächste Eintrag und beim Ziel musst Du sicher eine Zeile tiefer?