2017-11-15 3 views
1

ich einen Bericht von Cognos erschaffe, die das Ergebnis unten im Excel-Format generiert:neues Blatt erstellen und organisieren Ergebnis

Das Problem mit dem Code ist alles, was ich die Werte basierend auf Zeilennummern fest einprogrammiert haben und was ich will dynamisch zu machen, so dass ich, wenn ich einen Bericht für die letzten 2 Wochen erstellen muss, nicht jedes Mal meinen Makrocode ändern muss.

Derzeit bin ich zeigt den Wert für name = „PO“ und id = 28. Aber es wird andere name und id auch sein. Für jede name und id wird es 4 Spaltenwerte geben wie für RR, DD, EE und FF. Ich muss sie basierend auf name und id gruppieren und ein neues Blatt erstellen, das folgende Ergebnisse haben wird:

+0

Sie müssen für jede Entität suchen und richten Sie die Zeile, Spalte usw. Es ist möglich, ich habe es getan. Sie müssen jedoch Ihre eigene Struktur für die Suche definieren. – peakpeak

+1

Außerdem ist es am besten, die Verwendung von '.Select' /' .Activate' zu ​​vermeiden (https://Stackoverflow.com/questions/10714251/), was ebenfalls hilft, die Codelänge zu reduzieren. Außerdem sieht es so aus, als müssten Sie nur Ihre Header einrichten, und Sie könnten 'Index/Match()' verwenden, nein? (Vielleicht mit mehreren Kriterien) – BruceWayne

+0

Ja, aber ich bin ruhig neu zu VBA-Codierung Ang bekommen Idee über die gleiche – Andrew

Antwort

1

Andrew: Welche Version von Excel hast du? Wenn Sie über Excel 2013 oder höher verfügen, können Sie die neue Funktion auf der Registerkarte "Holen und Transformieren" verwenden, um dies ganz einfach durchzuführen. Es war zuvor ein separates Add-In namens PowerQuery und ist jetzt Bulk-Standard in Excel.

Es gibt viele hervorragende exemplarischen Vorgehensweisen im Internet, die genau diese Art von Aktivität zeigen. Google "PowerQuery" und legen Sie einen Datumsfilter auf Ihre Ergebnisse, um nur das letzte Jahr anzuzeigen, wie die Funktionalität ständig aktualisiert wird. Fügen Sie "Ken Puls" zu Ihrem Suchbegriff hinzu und sehen Sie, welche Blasen an der Spitze sind. Dann ersetzen Sie Ken "Mike Girvin" oder "ExcelIsFun" und Sie sollten sehen, wie eine Zillion ausgezeichnete Tutorials auf PowerQuery. Versuchen Sie auch "ExcelCampus", da Jon großartige Tutorials hat, genauso wie "Chandoo". Ersetzen Sie auch PowerQuery durch "Get and Transform" und wiederholen Sie diese Suchvorgänge.

PowerQuery ist einfach zu erlernen und ermöglicht es Ihnen, Dinge einfach durch "Durchwursteln" zu erledigen, die sonst ein Jahr oder länger dauern würden, um zu lernen, ob Sie VBA abholen wollten.

Es verhält sich wie ein benutzerfreundlicher Makrorekorder, nur im Gegensatz zum Makrorekorder spuckt es wiederverwendbaren Code aus, der keine fest codierten Referenzen enthält.

+0

danke für ihre information ich gehe gerade durch erhalten und transformieren funktionalität. Wollte nur für mein Beispiel wissen, schlagen Sie irgendein spezifisches Tutorial vor, das ich betrachte. Otherwiese muss ich viel Zeit damit verbringen, durch die ganze Funktionalität von Get und Transform zu lernen? – Andrew

+0

Es wird nicht lange dauern, etwas Ähnliches zu finden, mit den Namen, die ich Ihnen als Google Filter gegeben habe. Und dann werden Sie schnell sehen, wie einfach es ist, mit diesem Werkzeug durchzukommen. Ich benutze es die ganze Zeit, um Dinge zu tun, von denen ich keine Ahnung habe, wie es zu machen ist, und ich habe immer und immer wieder gefunden, dass das Werkzeug mangels Wissen sehr nachsichtig ist. – jeffreyweir

Verwandte Themen