Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

vba - viele matrixformeln ersetzen?
#41
Hallo snb,

wegen dem Offtopic  Geschreibsel, sind die fachlichen Dinge etwas zurückgedrängt worden.

Ich habe Deinen zuletzt geposteten Code noch einmal getestet und muss feststellen, dass er doch der schnellere ist.
Schnell bedeutet für mich Ressourcen schonen. Deshalb ist das Thema bei großen Datenmengen auch ein wichtiger Bestandteil,
welches bei der Entwicklung von Code berücksichtigt werden sollte.

Nun aber eine Verständnisfrage zum Code, welche ich Dir zwar gestern schon gestellt habe, da Du mit Deinen Worten sehr knauserig bist,
bist Du bisher nicht darauf eingegangen.

In folgender Zeile:

Code:
.Item(it) = Split(it & .Item(it) & String(60 - UBound(Split(.Item(it), "_")), "_"), "_")

nutzt Du die Zahl 60 als Grenze. Wie kommst Du auf diese? Machst Du das per Augenschein, oder hast Du eine Technik, Dich ihr zu nähern?

Da sitzt nämlich eines der Resourcenfresser bei mir im Code mit dieser Zeile:
Code:
zZ = Application.Max(zZ, UBound(Split(c(feld(i, 1)), "#")) + 1)

ermittle ich die Arraygrenze. Ich habe festgestellt, dass der Code ohne diese Berechnung erheblich schneller wird.
Hast Du dafür eine Alternative.


Das was Du mit der oben gezeigten Zeile von Dir machst, mache ich ja mit diesen Zeilen:

Code:
     For j = 1 To UBound(Split(c(vntK), "#"))
       arr(k, j) = Split(c(vntK), "#")(j)
     Next j

Dieser innere Schleifendurchlauf ist bei mir einer der nächsten Bremsen.
Das war gestern auch einer meiner Fragen, wie ich auf die Schleife verzichten und den Teil mit Split in einem in das Array arr schreiben kann.
Und wie ich es dann wieder in die Tabellle übertrage.


Ich habe mir Deine Seite angesehen. Da steckt sehr viel Info drin, einiges ist für mich offensichtlich andere sind schwieriger nachzuvollziehen.
Dort machst Du nämlich das Gleiche wie hier, Du geshst nicht nur sparsam mit Code um, sondern auch mit Deinen Worten.

Wäre schön, wenn du mir zu den oben gestellten Fragen ein paar Takte schreiben könntest.
Gruß Atilla
Antworten Top
#42
Guten Morgen Wink

hab nunmal die Beispielmappe entsprechend angepasst und mit Text dazu versehen.

Nochmal kurz geschildert:
- Ausgewählte Spalten (eine Gruppe) sollen die Beiträge (die unter ihren Namen aufgelistet sind) in der des Gruppenführer benannten Spalte darstellen.

In Tabelle 2 ist noch etwas dazu gekommen  :20: ich hoffe der Text dort ist halbwegs verständlich?  :20:
- ich würde gern die Listbox einer Userform abwechseln belegen. Und bei Auswahl in entsprechende Bereiche eintragen.
Bisher mache ich sowas mit der entsprechenden Anzahl an Listboxen die ich dann übereinander liegend immer ein und ausblende. Aber das müsste doch auch mit einer gehen wenn ich der irgendwie diesen Wechsel beibringen könnte?

...

Zu den Codes von gestern - nochmals besten Dank Euch.
die snb Codes laufen nun wirklich tadellos. Danke für den Tip mit Option Explizit...
 
Ich werde aber dennoch Atillas Codes verwenden. Die Erklärung ist ganz simpel:
Bei den snb Codes versteh ich kein bisschen was da wie wann passiert. Das ist mir einfach viel zu hoch :22:  Da muss ich wohl noch ne ganze Weile am Ball bleiben um da halbwegs hinter zu steigen... 
Atillas Codes kann ich (bis zu einem gewissen Teil) lesen und dementsprechend anpassen und damit auch für andere Projekte verwenden.  

Liebe Grüße
Klaus


Angehängte Dateien
.xlsm   Pflanzen2.xlsm (Größe: 268,89 KB / Downloads: 2)
Antworten Top
#43
Hallo Klaus,

heute werde ich zwar sowieso nicht machen können, aber ich kann schon vorab sagen, dass ich mit den Infos morgen auch nicht machen werden kann.

Mit anderen Worten, ich verstehe nicht, was Du vorhast. Könntest du bitte etwas mehr ins Detail gehen.
Verstehe ich Dich richtig, dass Du zwei unterschiedliche Dinge erreichen möchtest.

1. In der Tabelle mit den Gruppen Überschriften auswählen und dann sollen diese Gruppen untereinander gelistet werden, wobei die Überschriften an erster Stelle nebeneinander in Zellen stehen sollen?
Wenn ja, wo sollen die Daten abgebildet werden???


2. Was möchtest Du mit der Userform erreichen?
Möchtest Du eine Gruppe auswählen können und zu dieser Gruppe sollen die Daten in der Listbox gelistet werden.
Wenn ja, was soll bei Auswahl in der Listbox in den Textboxen erscheinen.

Wenn eins von beiden = nein, dann bitte ins Detail gehen.
Gruß Atilla
Antworten Top
#44
Hallo Atilla,

sorry das mein Konstrukt etwas unerklärlich ist.

Ich hab das in dieser Datei nochmal versucht deutlicher darzustellen.
Hoffe es ist mir gelungen?!


So... nun aber Bettchen...

Liebe Grüße
Klaus


Angehängte Dateien
.xlsm   Pflanzen2.1.xlsm (Größe: 301,98 KB / Downloads: 4)
Antworten Top
#45
Hallo Klaus,

da haben wir uns missverstanden, glaube ich.
Mit detailliert meinte ich etwas anderes. Nämlich, dass Du schreibst wo welche Daten wie zu finden und warum unter welcher Bedingung sie wohin kommen sollen.

Für mich ist das was Du beschrieben hast immer noch nicht verständlich. Falls Du es noch einmal erklären möchtest, dann würde ich es so handhaben:

Daten so wenig wie möglich und so viel wie nötig belassen. Alles was nicht mit dem Problem zu tun hat, würde ich weglassen.
Ich würde konkrete Beispiele aus den Daten nehmen. Dann wenn es zur Klärung beiträgt die Ergebnisse zum Teil in separaten Tabellen aufzeigen und dabei erklären, wie ich zu diesem Ergebnis gekommen bin. Alle Textboxen oder Grafiken die nichts mit Problem zu tun haben sollte weg. Sie sollte wenn überhaupt keine Daten überdecken, die zur Klärung nötig sind. Die Pfeile hin und her sind für mich eher verwirrend.
Dann sollten nicht zu viele Fragen auf einmal gestellt werden. Nach Möglichkeit erst ein Problem in einem Thema abschließen und dann ein neues Thema anfangen.

Problemstellungen und Fragen solltest Du immer so formulieren oder stellen, dass jeder, auch der der das noch nicht gesehen hat, sich reindenken und sie verstehen kann.
Dann sollten in einem öffenlichen Forum die Fragen immer an die Allgemeinheit gestellt werden. Denn nicht jeder der Antwortenden muss immer Zeit oder Lust haben, sich damit zu beschäftigen. Ein Anderer kann sich aber trotzdem einbringen.

Aber vielleicht ist ja doch jemand dabei, der Deine Beschreibungen verstanden hat, und ist entweder bei der Lösungsfindung oder Problembeschreibung behilflich.
Gruß Atilla
Antworten Top
#46
Guten Morgen Atilla,

das tut mir Leid das ich schon wieder unverständlich war.


Und Du hast Recht, solange dies unter dieser Überschrift hier läuft, findet auch kein anderer möglicher Helfer das Ganze...
Ich werde entsprechend die Beispieldatei nochmal umformulieren, als zwei getrennte Dateien gestalten und nochmal komlett neu ins Forum stellen.

Ich danke Dir herzlich.

Liebe Grüße 
Klaus
Antworten Top


Gehe zu:


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