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

verschaltelte loops

verschaltelte loops
10.09.2018 15:52:09
EasyD
Hallo zusammen
wer löst meinen knoten?
siehe auch Bsp-Datei
Ich habe eine Matrix mit veränderlicher Anzahl von ausgefüllten Spalten und veränderlicher Zeilenanzahl (Tabelle1).
Mein Ziel (Tabelle2)
Ich will die Daten aus Tabelle1 im Zeilenaufbau auf Tabelle2 bringen. Dazu jeweils:
in die erste Spalte - die Spaltenüberschrift
in die zweite Spalte - die Zeilenüberschrift
in die dritte Spalte - der "Kreuzwert" aus Spalten- und Zeilenüberschrift
Habe das mit Do Loop versucht, erfolglos
Bin dankbar für alle Anregungen....
(im Beispiel nur 3 Spalten und 3 Zeilen, das könnnen aber sehr viel mehr werden jeweils)
https://www.herber.de/bbs/user/123860.xls

48
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verschaltelte loops
10.09.2018 16:05:13
EasyD
Ergänzung:
warum "verschachtelte loops"?
Ich dachte der erste Loop über die Spalten, der zweite über die Zeilen....
Habe aber nur den für Spalten hin bekommen.
Habe ebenfalls versucht mit -for next- über die ausgefüllten Zeilen drüber zu gehen, ebenfalls erfolglos leider
Kreuztabelle auflösen
10.09.2018 16:11:33
ChrisL
Hi
z.B.
Sub t()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim lngZeile As Long, lngSpalte As Long, lngLetzte As Long
Application.ScreenUpdating = False
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
WS2.Cells.Delete
For lngZeile = 2 To WS1.Cells(Rows.Count, 1).End(xlUp).Row
For lngSpalte = 2 To WS1.Cells(1, Columns.Count).End(xlToLeft).Column
If WS1.Cells(lngZeile, lngSpalte)  "" Then
lngLetzte = WS2.Cells(Rows.Count, 1).End(xlUp).Row + 1
WS2.Cells(lngLetzte, 1) = WS1.Cells(1, lngSpalte)
WS2.Cells(lngLetzte, 2) = WS1.Cells(lngZeile, 1)
WS2.Cells(lngLetzte, 3) = WS1.Cells(lngZeile, lngSpalte)
End If
Next lngSpalte
Next lngZeile
End Sub
cu
Chris
Anzeige
AW: Kreuztabelle auflösen
10.09.2018 16:21:11
Rob
Die If then Bedingung rauslassen, dann werden auch die Zellen mit Wert 0 berücksichtigt.
AW: Kreuztabelle auflösen
10.09.2018 16:32:41
EasyD
Ein Träumchen!
Hatte nur Spalten und Zeilen vertauscht, hab's aber hin bekommen!
Da war der Loop wohl der falsche Ansatz.....
Und soeben hat sich noch eine Erweiterung ergeben, ich denke aber das bekomme ich ebenfalls hin:
Wenn in der Spalte keine Überschrift steht (aber in den Zeilen drunter trotzdem Daten enthalten sind), dann mach nix...
Ich dank Dir aber schonmal, mega-Hilfreich!
AW: Kreuztabelle auflösen
10.09.2018 16:39:58
ChrisL
Hi
Gerne...
Mit Loop wäre es auch gegangen, aber eine For-Next Schleife scheint mir hier einfacher.
z.B.
If WS1.Cells(1, Columns.Count).End(xlToLeft).Column = 1 Then Exit Sub
cu
Chris
Anzeige
AW: verschaltelte loops
10.09.2018 16:34:56
Daniel
HI
im Prinzip auch mit Formeln in Tabelle2:
A2: =INDEX(Tabelle1!$1:$1;1;GANZZAHL((ZEILE()-2)/ANZAHL2(Tabelle1!$A:$A))+2)
B2: =INDEX(Tabelle1!$A:$A;REST(ZEILE()-2;ANZAHL2(Tabelle1!$A:$A))+2;1)
C2: =INDEX(Tabelle1!$1:$65536;REST(ZEILE()-2;ANZAHL2(Tabelle1!$A:$A))+2;GANZZAHL((ZEILE()-2)/ANZAHL2(Tabelle1!$A:$A))+2)
die Formeln dann soweit nach unten ziehen wie benötigt.
die Formel ist so gangepasst, dass Anzahl der Zeilen und Spalten ermittelt wird, dh du brauchst die Formel nicht anpassen, wen Zeilen oder Spalten hinzukommen.
Gruß Daniel
AW: verschaltelte loops
10.09.2018 16:44:10
EasyD
Danke Daniel,
aber die Formellösung scheidet aus weil ich den Anwender damit nicht behelligen kann und ich heute nicht abschätzen kann wieviele Zeilen und Spalten das evtl mal werden....
(das Sheet soll sich ausschließlich selbst durch den Code ausfüllen)
Anzeige
AW: verschaltelte loops
10.09.2018 17:07:51
Daniel
MAN KANN UND DARF FORMELN AUCH PER MAKRO IN EINE ZELLE SCHREIBEN
MAN KANN UND DARF FORMELN AUCH PER MAKRO IN EINE ZELLE SCHREIBEN
MAN KANN UND DARF FORMELN AUCH PER MAKRO IN EINE ZELLE SCHREIBEN
deinem Anwender ist es doch egal, was dein Makro macht.
ob es jetzt in einer Schleife durch die Daten rödelt, oder Formeln in die Zellen schreibt und hinterher die Formeln durch Werte ersetzt, das macht für ihn keinen Unterschied.
das einzige was du im Code noch ausrechnen musst, ist vieviel Zeilen das Ergebnis haben wird (anzahl Zeilen x Anzahl Spalten) und soweit musst du die Formeln in die Tabelle eintragen.
Gruß Daniel
Anzeige
AW: Die einen wollen keine ..
10.09.2018 17:25:19
Gerd
Hi Daniel
.. Makros, die anderen keine Formeln, manche beides nicht.
Nur "KANN" zu betonen hätte vollkommen gereicht. :-)
Gruß Gerd
AW: ohne Makros, ohne Formeln? dann PowerQuery owT
10.09.2018 17:44:20
neopa
Gruß Werner
.. , - ...
... mit PowerQuery ...
10.09.2018 18:44:08
Frank
Hallo sähe es so aus... (M-code incl. - sieht schlimmer aus, als es ist... ein paar Klicks {ein Klecks})
Arbeitsblatt mit dem Namen 'Tabelle2'
 EFG
1SpalteZeileWert
2Spalte 1Zeile 155
3Spalte 1Zeile 20
4Spalte 1Zeile 3123
5Spalte 2Zeile 166
6Spalte 2Zeile 230
7Spalte 2Zeile 36
8Spalte 3Zeile 10
9Spalte 3Zeile 2222
10Spalte 3Zeile 38
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte1", type text}, {"Spalte 1",  _
Int64.Type}, {"Spalte 2", Int64.Type}, {"Spalte 3", Int64.Type}}),
#"Transponierte Tabelle" = Table.Transpose(#"Geänderter Typ"),
#"Höher gestufte Header" = Table.PromoteHeaders(#"Transponierte Tabelle", [ _
PromoteAllScalars=true]),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Höher gestufte Header",{{"Zeile 1", Int64. _
Type}, {"Zeile 2", Int64.Type}, {"Zeile 3", Int64.Type}}),
#"Hinzugefügter Index" = Table.AddIndexColumn(#"Geänderter Typ1", "Index", 1, 1),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Hinzugefügter Index", " _
Benutzerdefiniert", each "Spalte "),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Hinzugefügte benutzerdefinierte Spalte", _
{"Zeile 1", "Zeile 2", "Zeile 3", "Benutzerdefiniert", "Index"}),
#"Zusammengeführte Spalte eingefügt" = Table.AddColumn(#"Neu angeordnete Spalten", " _
Zusammengeführt", each Text.Combine({[Benutzerdefiniert], Text.From([Index], "de-DE")}, ""), type text),
#"Entfernte Spalten" = Table.RemoveColumns(#"Zusammengeführte Spalte eingefügt",{" _
Benutzerdefiniert", "Index"}),
#"Neu angeordnete Spalten1" = Table.ReorderColumns(#"Entfernte Spalten",{"Zusammengeführt",  _
"Zeile 1", "Zeile 2", "Zeile 3"}),
#"Ersetzter Wert" = Table.ReplaceValue(#"Neu angeordnete Spalten1",null,0,Replacer. _
ReplaceValue,{"Zeile 1", "Zeile 2", "Zeile 3"}),
#"Entpivotierte andere Spalten" = Table.UnpivotOtherColumns(#"Ersetzter Wert", {" _
Zusammengeführt"}, "Attribut", "Wert"),
#"Umbenannte Spalten" = Table.RenameColumns(#"Entpivotierte andere Spalten",{{"Zusammengefü _
hrt", "Spalte"}, {"Attribut", "Zeile"}})
in
#"Umbenannte Spalten"

Anzeige
AW: ... mit PowerQuery ...
10.09.2018 18:52:33
Daniel
wie immer ist das Grundproblem der Powerquery-Fraktion, dass sie anscheinend nicht in der Lage ist, ein paar einfache Klicks mit worten zu beschreiben ;-)
sind das die Auswirkungen der Verwendung von Powerquery? dann lass ich da lieber die Finger von.
AW: ... ach Daniel ...
10.09.2018 19:08:15
Frank
... mach das. Lass es. Ich hatte das in Eile gemacht. Außerdem glaube ich nicht, dass man hinschreiben muss: Ich habe da drauf geklickt, dann da drauf. Danach habe hier geklickt. Wenn man den M-code in den Erweiterten Editor kopiert, sieht man doch, was passiert. Man kann das freilich auch auskommentieren, aber da ich ja gar nicht weiß, ob Power Query angewendet werden kann, spare ich mir da einstweilen. Sehr selten sehe ich bei VBA - oder Formellösungen (dass sie mit {einfachen} Worten beschrieben sind...
Anzeige
AW: ... ach Daniel ...
10.09.2018 19:35:07
Daniel
Naja bei VBA- Oder Formellösungen sind's ja auch nicht ein paar einfache Klicks, mit denen man das Problem löst, sondern eben komplexe Formeln oder eben Programmcode.
Deswegen liest du da das auch nie, weil's eben keine einfache Klicklösung ist.
Aber wenn du mir versprichst, dass das Problem mit wenigen Klicks lösbar sein soll, dann sollte es doch kein Problem sein, diese Klicks zu beschreiben.
Wen ich jemanden eine Lösung über die Anwendung einer Menüfunktion lösen kann, dann beschreibe ich ihm auch immer, was er anklicken muss.
Gruss Daniel
AW: ... ach Daniel ...
10.09.2018 19:39:43
Frank
Hast du dir dieses Beispiel mal angesehen..? Ich vermute nicht. Du bist nach deinen Aussagen offenbar auch nicht die Zielgruppe. Ich mache keine andere mögliche Lösung madig... Für mich ist hier Schluss. Tschö
Anzeige
AW: ... ach Frank.
10.09.2018 23:24:59
Daniel
ich mach doch deine Lösung gar nicht madig.
aber wenn du schreiben würdest:
1. übernehme die Tabelle nach Powerpivot
2. markiere die drei Spalten
3. klicke dann den Menüpunkt TRANSFORMIEREN - BELIEBIGE SPALTE - SPALTEN ENTPIVOTISIEREN - alle Spalten
(ggf nur als kleines Icon sichtbar)
dann würde jeder sehen, dass es wirklich nur ein paar klicks sind und könnte diese sofort nachvollziehen und ausprobieren und sich so davon überzeugen, dass PowerPivot wirklich ein sehr gutes Werkzeug ist.
und daher frage ich mich, warum du statt dieser einfachen beschreibung solchen komplexen Code stattdessen hier einstellt, der für mich eher abschreckend wirkt.
Anzeige
AW: ... ach Frank.
10.09.2018 23:43:18
Frank
Hallo Daniel. Gut - na ja fast gut. Aber: Falsches tool... KEIN PowerPivot... Power Query... Ich schrieb vorhin zwei wichtige Sachen. Erstens: mit heißer Nadel getrickt. Und zweitens: Wer weiß denn ob der TE Power Query (nicht PowerPivot - ist aber auch nett!!!) anwenden will oder kann oder darf. Sicher wäre ich da auch noch darauf eingegangen. Aber ich habe die Erfahrung gemacht, dass man angepöbelt wird, von Leuten die sich offensichtlich nicht mit Power Query (nicht PowerPivot - auch eine nettes tool; schrieb ich schon oder?) befassen wollen. Müssen sie auch nicht... Ich zeige zuerst ein mögliches Ergebnis und wecke Neugier - oder eben auch nicht. Ich kann damit (gut) leben...
Anzeige
AW: ... ach Frank.
11.09.2018 00:25:27
Daniel
das mögliche Ergebnis ist doch schon vom Fragesteller vorgegeben, das brauchst du nicht nochmal zeigen.
was interessiert, ist der weg dort hin, und den solltest du zeigen.
wenns mit wenigen klicks geht, gut.
wenn man zeigen kann, welche klicks das sind, um so besser.
Wenn man aber von wenigen Klicks spricht und dann nicht zeigen kann, welche das sind, dann hinterlässt das einen faden Beigeschmack.
hatte hier mal einen Kollegen, der die Lösung mit weniger als 5 Klicks mit Hilfe von PowerQuery versprach um dann später eingestehen zu müssen, dass er die Klicks gar nicht so genau mitzählt und das mit den Klicks auch gar nicht so genau weiß, weil er lieber mit der Tastatur arbeitet...
Sowas wirkt dann eher abschreckend.
AW: ... Nacht Daniel
11.09.2018 00:40:17
Frank
Hallo Daniel, warum regst du dich so auf..? Ich habe keine genaue Zahl der Klicks angegeben. Ich muss mich nicht rechtfertigen oder irgendetwas eingestehen (was diese Lösung hier angeht) Dich schreckt Power Query ab..? Du willst dich nicht darauf einlassen? Schade, ABER dann lass es doch... Ich will niemanden "bekehren"
AW: ... Nacht Daniel
11.09.2018 01:08:59
Daniel
du verstehst das falsch.
mich schreckt nicht PowerQuery ab.
mich schrecken Menschen ab, die behaupten, es gäbe eine ganz einfache Lösung mit wenigen Klicks und sich dann aber extrem zieren, wenn sie mal verraten sollen, welche Klicks das konkret sind.
Und das ist ein ganz typisches Verhalten für alle PowerQwery-Fans, die hier so auftreten.
ich würde mich ja gerne auf PowerQuery einlassen, wenn mir jemand erklären würde, wo ich hinklicken muss um ein bestimmtes Ergebnis zu bekommen.
Macht nur niemand, obwohl sie alle versprechen, dass es mit wenigen Klicks ganz einfach geht.
(ok um euch nicht ganz unrecht zu tun, es gab auch mal den einen oder anderen, der dann genauer erklärt hat wo man denn hinklicken muss, aber ich musste schon sehr penetrant nachfragen.)
es gibt hier...
11.09.2018 01:26:09
Frank
... eine ganz einfache Lösung mit wenigen Klicks. Ich ziere mich jetzt, ja. Weil mich Menschen abschrecken, die behaupten Power Query (nicht zu verwechseln mit PowerPivot - Oooops!!!) wäre kompliziert und verteufelt. Von Power Query Fans schreiben - alle über einen "Kamm scheren" ohne Namen zu nennen... Das mit der Penetranz nehme ich dir ab... Und damit endet für mich (zum zweiten Mal) dieses Thema. Schade, wenn es den TE interessiert (hätte), hast du es jetzt kapput gemacht...
AW: es gibt hier...
11.09.2018 01:57:54
Daniel
du brauchst dich nicht mehr zu zieren, ich hab die notwendigen Klicks schon hingeschrieben, so dass sie jeder nachlesen kann.
welche Menschen behaupten denn, das PowerQuery kompliziert und verteufelt wäre?
ich treffe immer hier immer nur Menschen, die behaupten es wäre ganz einfach.
... und was an dieser Lösung
11.09.2018 08:53:22
Frank
... ist nicht ganz einfach..? Ich habe nie geschrieben, Power Query (nicht PowerPivot) wäre ganz einfach... Wenn ich eine Lösung vorgeschlagen habe (und das mache ich auch weiterhin), dann war diese (und werden kommende Vorschläge) ganz einfach... Das ist ein kleiner aber feiner Unterschied...
Nur gibt es Menschen, die wollen das nicht sehen, die sehen noch viel mehr... ... die schreiben die Klicks, die für Power Query notwendig wären, PowerPivot zu (vor lauter Aufregeung?)
"...übernehme die Tabelle nach Powerpivot" - das war so nicht vorgesehen, aber wenn es bei dir klappt...
... "dass PowerPivot (...) ein (...) Werkzeug ist..." - darauf in ich gar nicht eingegangen, aber du hast Recht, sogar ein mächtiges, hatte bei meinem Vorschlag aber keine Rolle gespielt...
Lass es einfach sein. Bitte.
AW: ... und was an dieser Lösung
11.09.2018 09:18:59
Daniel
ist alles ganz einfach.
ich habe auch nie was anderes behauptet.
(falls du anderer Ansicht bist, würde ich dich bitten, meine Aussage, aus der du das herausliest, zu zitieren."
ich habe lediglich dich gebeten, diese einfachen Klicks zu beschreiben.
und ja, tut mir leid, bei "PowerPivot" hab ich mich verschrieben und "PowerQuery" gemeint.
aber wenns dir Spass macht, darfst du gerne weiter so pentrant darauf rumreiten.
Das Einzige was ich an PQ ggf bemängeln ...
11.09.2018 19:07:20
Luc:-?
…würde, Leute,
ist, dass MS dafür fast noch 20 Jahre gebraucht hat, nachdem die 1.vglbare Software erschienen war. Also spielte hierbei wohl nur der wachsende KonkurrenzDruck 'ne Rolle, weniger reale Nutzerwünsche.
Ansonsten wie unten und früher bereits gesagt.
Luc :-?
Bei Access könnte man ebenfalls die per Klick ...
10.09.2018 19:10:07
Luc:-?
…erzeugten SQL-Routinen, die dann die eigentliche Arbeit leisten, posten, Daniel;
deren Klicks zu beschreiben wäre ebenfalls aufwendiger als die Routinen zu zeigen. Das ist idR bei jeder Klick-Software so, auch bei Xl, wenn man es genau nimmt. Bei Letzterem wdn dann wenigstens Anfänger­Kenntnisse vorausgesetzt (quasi das Lesen der Bedienungsanleitung), warum nicht auch bei seinen Erweiterungspgmm…‽
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
AW: OT: Was sind verschaltelte loops, ...
10.09.2018 22:33:05
Daniel
Naja, wenn man sich dazu entschließt, als Betreff für seinen Beitrag den Titel "Antwort auf Beitrag xy" zu verwenden, dann ist es schon okay, den Titel dieses Beitrags so zu zitieren, wie vom Beitragersteller vorgegeben.
AW: Schleifen mit Arrays
10.09.2018 17:23:00
Daniel
HI
für eine VBA-Lösung ist es wahrscheinlich einfacher, die Daten zunächst erstmal in ein Array zu laden und damit zu arbeiten, als direkt mit den Zellwerten.
Am Schluss wird das Array dann in die Zellen als Ergebnis zurückgeschrieben:
Sub test()
Dim arr1
Dim arr2
Dim z1 As Long
Dim s1 As Long
Dim z2 As Long
arr1 = Sheets("Tabelle1").UsedRange
ReDim arr2(1 To (UBound(arr1, 1) - 1) * (UBound(arr1, 2) - 1), 1 To 3)
For s1 = 2 To UBound(arr1, 2)
For z1 = 2 To UBound(arr1, 1)
z2 = z2 + 1
arr2(z2, 1) = arr1(1, s1)
arr2(z2, 2) = arr1(z1, 1)
arr2(z2, 3) = arr1(z1, s1)
Next
Next
Sheets("Tabelle2").Cells(2, 1).Resize(UBound(arr2, 1), UBound(arr2, 2)) = arr2
End Sub
Gruß Daniel
AW: Schleifen mit Arrays
11.09.2018 09:48:53
EasyD
Herrje,
ich wollte eigentlich keine Grundsatzdiskussion lostreten.
Danke nochmal an alle die sich des Themas angenommen haben, meine Meinung dazu:
1. natürlich würde es mich auch interessieren, wie man eine Schleife "verschaltet". würde bestimmt witzig aussehen. Sorry für den Schreibfehler, "verschachteln" hätte meine Frage natürlich besser umschrieben.
2. mit PowerQuery oder PowerPivot zu arbeiten ist hier nicht in meinem Sinne. Man stelle sich vor, ich verarbeite hier Daten einer Schule und möchte der Sektretärin ein Tool an die Hand geben mit der sie Zeit sparen kann (ich selbst bin im Förderverein). Ich bin froh, dass die Sekretärin weiß wie sie Excel starten kann. Mehr brauch ich dazu wohl nicht zu sagen.
FrankFurter - Ein klein wenig muss ich da Daniel auch zur Seite springen. Ich habe PowerQuery schonmal aus der Ferne gesehen, ich glaube auch ich könnte rekonstruieren was Du da vor hattest. Etwas mehr Beschreibung zu der ganzen Nummer wäre aber hilfreich gewesen (sofern es denn für mich infrage gekommen wäre). Trotzdem bin ich natürlich nicht derjenige der sich beschwert wenn er eine Antwort bekommt. Ich bin für JEDE Antwort dankbar und wenn du sagst - "ich will Interesse wecken" - dann bin ich natürlich voll bei Dir....
3. zur Formellösung nochmal - ja - natürlich kann ich die Formeln auch mittels Makro in die Zellen schreiben. ABER - und da komme ich wieder zu dem potentiellen Anwender - ich möchte keine Verwirrung stiften. Wenn die Dame am Ende des Tages ein Blatt in der Hand hält auf dem nur Werte stehen, dann gibt es keine blöden Fragen...
Gruß an alle und danke nochmal!
AW: Schleifen mit Arrays
11.09.2018 10:53:54
Daniel
Hi
es ist keine große Sache, die Formeln nach dem Einfügen durch ihren Wert zu ersetzen:
with Range(...)
.Formula = "=hier deine Formel"
.Formula = .Value
End With

danach siehst du keinen Unterschied mehr, ob du die Ergebnisse rein per VBA oder mit Hilfe von Excelformeln erzeugt hast.
ich setzte diese Technik recht häufig ein, da:
- mir als Excelanwender Formellösungen oft schneller einfallen als funktionsgleiche VBA-Konstrukte
- der Code beschränkt sich dann auf das einfügen der Formeln und wird damit sehr kurz und oft auch sehr schnell
- die Verwendung der Formel vermeidet Schleifen, was sehr angenehm ist, wenn der Code in einem komplexern Makro im Einzelstep getestet werden muss. Einen Schleifenfreien Code kann man dann einfach mit F8 durchtickern, bei Schleifen muss man dann entweder sehr viel klicken oder ständig irgendwelche Haltepunkte setzen oder entfernen.
Gruß Daniel
AW: Schleifen mit Arrays
11.09.2018 11:49:07
Frank
Hallo, alles gut. Ich hätte mich nicht hinreißen lassen sollen. Aber nur aus Intreresse: Was soll denn passieren wegen (d)einer Sektretärin..? Was können die anderen Lösungen, was Power Query nicht kann? Außer, dass Grundvoraussetzung ist, dass es vorhanden sein muss.
Komischer Weise wird ein VBA-Code weniger hinterfragt. Was passiert da im Einzelnen..? (Manche kommentieren ordentlich aus - manche nicht ... z.B. Beitrag vom 11.09.2018 10:53:54 hier im thread) Der Code wird kopiert und (hoffentlich an der richtigen Stelle) eingfügt - fertig. Ich schicke einen M-code (fertig auskommentiert {von "Hause" aus... ... ist sicher verbesserungswürdig und kann man durchaus besser -individueller - machen und werde ich beim nächsten Mal auch sicher machen} der muss auch nur an die richtige Stelle eingefügt werden. Dieser code wird aber generiert - man muß ihn nicht schreiben - durch wenige Klicks halt. Jetzt geht das Geschrei los...
Die Lösung kann eingesetzt werden, wo kein VBA erlaubt ist. Diese Lösung braucht keine Formeln (auch nicht auf Vorrat) - ist zudem dymanisch.
Wenn ich das weiß und darauf verzichten will, ist alles gut. Aber bitte nicht darauf rum hacken... So, wie es manche Menschen aus der Anti-PQ-Fraktion hier immer wieder tun...
Sei's wie es ist, wenn du (d)eine funtionierende Lösung hast, ist es für dich doch gut... Schönen Tag noch.
AW: Schleifen mit Arrays
11.09.2018 12:26:31
EasyD
Hi nochmal
Was soll denn passieren wegen (d)einer Sektretärin..? Was können die anderen Lösungen, was Power Query nicht kann? Außer, dass Grundvoraussetzung ist, dass es vorhanden sein muss.
Darum geht es nicht.
1. Ich kann Dir nicht beantworten, ob es vorhanden ist und
2. Ich kann mit ziemlicher Sicherheit sagen, dass ich einen Termin mit dem IT-Menschen der Schule machen müsste um genau das festzustellen und
3. Dass ich der Frau von Grundauf erstmal erklären muss was PowerQuery überhaupt ist und was es macht.
...da hab ich wenig Lust zu....
Vorteil Makro:
läuft (natürlich genauso wie PowerQuery) im Hintergrund ohne dass Sie was merkt und (im Gegensatz zu PowerQuery) ich muss nicht abklopfen ob die Lösung bei ihr funktionieren wird.
Grüße
AW: Schleifen mit Arrays
11.09.2018 12:42:32
Daniel
Ach Frank
Es gibt hier doch kein Geschrei.
Es gibt auch keine Anti-PQ-Fraktion.
Es gibt nur eine einzige Frage, die noch von dir beantwortet werden sollte:
Welches sind die "einfachen Klicks", die man ausführen muss um mit der PQ das gewünschte Ergebnis zu erzeugen?
Gruß Daniel
AW: Schleifen mit Arrays
11.09.2018 13:37:13
Frank
Hallo Daniel. Habe ich von einfachen Klicks geschrieben..? Ich habe geschrieben..:"(... sieht schlimmer aus, als es ist... ein paar Klicks {ein Klecks})..." Und hier hätte man auch Klacks schreiben können...
- und auskommentiert ist das Ganze auch (ob das besser gemacht werden kann - darüber lässt sich trefflich diskutieren... ... das fehlt aber auch bei der überwiegenden Mehrzahl der geposteten VBA-Codes) Jeder Klick generiert einen Code-teil. (Man muss ihn nicht schreiben...!!!)
Eine Anti-PQ-Fraktion gibt's genauso (wenig), wie es eine Powerquery-Fraktion gibt (nebst Grundproblem).
Mir ist es auch egal, wer welche Lösung annimmt; ich wollte eine Möglichkeit vorzeigen. Bei Interesse näher darauf eingehen. Hat sich ja aus bekannten Gründen erledigt.
AW: Schleifen mit Arrays
11.09.2018 14:22:16
Daniel
naja, ein "Klacks" oder "Klecks" sein steht ja umgangssprachlich für für "ganz einfach, problemlos sein" (siehe Duden).
also hast du schon geschrieben, dass es mit ein paar einfachen Klicks geht.
und wie gesagt, warum komplizierten M-Code zeigen, wenn du einfach nur schreiben müsstest:
markiere in der PQ-Tabelle die rechten drei Spalten und klicke dann im Menü:
Transfomrmieren - Beliebige Spalte - Spalte entpivotisieren
das hätte gereicht, und jeder der PowerQuery öffnen kann, hätte deinen Lösungsweg nachvollziehen und sich davon überzeugen können, wie einfach es geht.
dein geposteter M-Code hat folgende Probleme:
1. man muss alle Zeilenumbrüche, die der Forumseditor von Herber automatisch einfügt, entfernen
2. ich hab den Code nicht ans laufen gebracht, er schein sich an nicht passenden Überschriften zu stören (zur soviel zur Flexibilität....)
AW: Schleifen mit Arrays
11.09.2018 14:37:46
Frank
Hallo, warum um Gottes willen schreibst du das denn nicht...Wir hätten doch über alles reden können. Dass mit den Zeilenumbrüchen, die der Forumseditor von Herber automatisch einfügt, wusste ich nicht...
Und dass man in Excel mit intelligenten Tabellen arbeitet hatte ich (zumindest bei dir) vorausgesetzt...
Würde es dein Gemüt beruhigen, wenn ich die Datei hochlade..?
Q
11.09.2018 14:51:28
Daniel
HI
naja, um den Code gings mir nicht.
Du schreibt ja selber, dass man den Code eigentlich nicht braucht, sondern den mit ein paar Klicks erzeugen kann. Warum also dann mit dem Code hantiern, wenn es reicht ein paar Klicks auszuführen?
ich wollte von dir hören, welchen Menüpunkt man anklicken muss um in der PQ die Daten wie gewünscht zu transformieren. Warum du das einfach nicht sagen willst, kann ich nicht verstehen.
Die intelligente Tabelle ist nicht das Problem, denn ohne Intelligente Tabelle kannst du die PQ gar nicht öffnen.
Gruß Daniel
AW: Q ...?
11.09.2018 14:59:49
Frank
Okay, ich bin zu doof, du bist mir zu schlau. Ich verstehe dein Problem nicht... Okay, ich weiß - du hast kein Problem. Ich habe es versucht. Und nun bin ich raus. Ich würde dir ja ein Video schicken; das wäre so einfach. Kann ich aber nicht.
Du hast gewonnen... ... bei weiteren Antworten von mir, die mit Power Query zu tun haben, werde ich in Zukunft deine (möglichen) Antworten ignorieren.
AW: Q ...?
11.09.2018 15:35:33
Daniel
ja da muss ich dir mal recht geben.
ist es denn wirklich so schwer zu verstehen?
du schreibst "ein paar Klicks..:?
warum schreibst du dann nicht konkret, was man klicken muss?
kann doch nicht so schwer sein.
es ist doch in diesem Fall nur der Menüpunkt "Spalten entpivotisieren", den man braucht um die Aufgabe zu lösen.
anstelle dieses einfachen Hinweises schickst du ne komplette Seite Code...
AW: Q ...?
11.09.2018 15:42:37
Frank
Schön, dass du das auch so siehst... Manchmal wird Code im Hintergrund generiert. Und nur Entpivotisieren ist es auch nicht... Das macht die Sache nicht schwerer. Wer sich mit dem Thema befassen will, der macht das auch - du nicht. Das habe ich verstanden...
Q
11.09.2018 15:59:59
daniel
ich meinte vorallem deine erste Aussage ;-)
wenn der Code im Hintergrund generiert wird, dann interessiert er nicht.
die interessante Frage ist, was ich tun muss um das gewünschte Ergebnis zu bekommen.
Warum beantwortest du diese Frage nicht einfach?
ist das zu schwer für dich? kannst du das nicht formulieren? ich dachte, du möchtest anderen dabei helfen, die PQ zu erlernen und selbstständig zu verwenden.
und natürlich habe ich mich mit dem Thema befasst und deinen Code ausprobiert?
wie hätte ich dir sonst sagen können, dass der Code nicht tut, oder dass es die Funktion "entpivotisieren" ist?
Bitte erkläre mir, wie ich das hätte tun können, wenn ich mich nicht mit dem Thema befasst hätte?
AW: Q
11.09.2018 16:12:22
Frank
Hallo, Power Query ist Menü gesteuert. Ich müsste jedes Mal hinschreiben: Wechsle dorthin - sieh nach dem und klicke dies. Das kann man machen - ist aber nix anderes als Vorkauen. Das mache ich nur, wenn es jemanden ernst ist. Das spreche ich dir ab. Einmal in ein Beispiel rein sehen feststellen, es geht nicht, ist keinesfalls sich damit befassen.
Wir beiden hübschen sind soweit, dass ich dir dabei nicht helfen werde. Haben wir beide doch unisono festgestellt, dass ich zu doof bin... einfache Klicks (was ich nicht geschrieben habe) schön mit Prosa zu umschreiben.
AW: Q
11.09.2018 16:50:38
daniel
"einfache Klicks (was ich nicht geschrieben habe)"
ok, keine einfachen Klicks, sondern komplizierte Klicks
aber was meintest du dann mit "ein Klecks" bzw später korrigiert zu "ein Klacks" ?
laut Duden steht der umgangssprachliche Ausdruck "das ist ein Klacks" dafür, dass etwas besonders einfach ist.
Was ist dein Verständnis davon? du musst dann ja was anderes darunter verstehen.
AW: Q
11.09.2018 16:54:14
Frank
Hallo du hattest einfache Klicks geschrieben. Ich meine, dass es nicht kompliziert ist. Schade, dass es schon lange nicht mehr um die Sache geht. Ich bin hier raus... Jetzt aber wirklich...
AW: Q
11.09.2018 17:00:30
daniel
was ist jetzt der Unterschied zwischen "einfache Klicks" und "nicht kompliziert".
wenns kompliziert ist, sind es keine einfachen Klicks, wenns nicht kompliziert sind, sinds einfache Klicks., oder sehe ich das falsch?
btw, wenns nicht kompliziert ist, warum fällt es dir dann so schwer, das zu beschreiben?
OT: Mal wieder ein typischer 'Daniel'! :-]] owT
11.09.2018 19:14:26
Luc:-?
:-?
OT: Mal wieder ein typischer Luc
11.09.2018 20:15:18
Daniel
einfach ungefragt einmischen, ohne zu wissen worum es geht.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige