Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
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
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Strings parsen und in Bezug setzen

Strings parsen und in Bezug setzen
20.09.2006 10:50:05
Felix
Hallo,
ich hatte bereits gestern versucht mir an dieser Stelle Hilfe zu verschaffen. Leider bekam ich keine Antwort. Daher habe ich versucht mein Problem und den damit verbundenen Aufwand zu verkleinern. Folgende Situation:
Ich habe eine Tabelle mit drei Arten von Strings:
String

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
und täglich grüsst das murmeltier
20.09.2006 10:51:49
Schliesser
...wie oft willst du das denn noch online stellen?
AW: und täglich grüsst das murmeltier
20.09.2006 11:08:23
Felix
Im ersten Fall ging es um einen einzelnen String. Hier geht es um drei, welche miteinander in Beziehung gesetzt werden müssen. Da ich beim letzten Mal keine Antwort erhalten habe, habe ich versucht die Problematik zu vereinfachen. Daher hoffe ich, dass mir nun jemand helfen kann. (Sorry, wenn ich Dich damit genervt habe.)
AW: Datei
20.09.2006 12:26:21
Felix
Ich zitiere hier mal aus dem Doppelthread:
Coach schrieb:
Hallo Felix,
ich denke, da kann Dir geholfen werden, um den Aufwand aber so gering wie möglich zu halten, wäre es sinnvoll wenn Du eine repräsentative Beispielmappe bereitstellen würdest. Ist die Auswertungstabelle vorher definiert oder muß die dynamisch erzeugt werde? Wenn dynamisch, muß Groß- und Kleinschreibung differenziert werden?
Inhaltliche Frage: Es dürfen nur die Anteile für die vorab definierten Bereiche berücksichtigt werden, korrekt?
Gruß Coach
---------------------
Antwort:
Also eine Beispielmappe ist oben hochgeladen. Die Auswertungstabelle soll nicht erzeugt werden. Die Produktabkürzungen bleiben also immer gleich und auch in der gleichen Anzahl vorhanden.
Bezüglich der Anteile liegst du richtig. Es sollen nur die berücksichtigt werden, welche in dem grünen Feld angegeben sind.
Gruß Felix
Anzeige
AW: Datei
20.09.2006 14:01:28
Coach
Hallo Felix,
hier eine nicht völlig fehlertolerante (es sind also nicht alle möglichen Fehler abgefangen) Lösung für Dein Problem, wobei für die Produkte und die relevanten Bereiche entsprechende Namen definiert wurden.

Die Datei https://www.herber.de/bbs/user/36850.xls wurde aus Datenschutzgründen gelöscht

Dein Beispiel ist übrigens teilweise falsch (AI+MAI haben keine TC-Anteile) gerechnet.
Gruß Coach
AW: Datei
20.09.2006 14:24:58
Felix
Wow, super! Vielen Dank. Ich werde das System mal ein wenig aufs Korn nehmen. Meinem ersten Eindruck zur Folge scheint aber alles bestens zu funktionieren. Falls ich noch eine Frage zum Code habe, werde ich mich an dieser Stelle noch einmal melden. Auf jeden Fall hast Du mir sehr geholfen. Thx
Anzeige
AW: Datei
20.09.2006 14:49:54
Felix
Hallo Coach,
habe das System mal ein wenig getestet und habe da noch zwei Kleinigkeiten, welche ich noch ändern müsste:
1. Wenn keine Strings angegeben sind, soll die Projektnummer trotzdem als Zeile vorhanden sein. Die Spalte Projektnummer ist ist auch eigentlich nicht dynamisch gedacht, sondern soll sich direkt auf ein anderes Tabellenblatt beziehen. In diesem Fall sollten die Werte also nach Projektnummern in die Zeilen sortiert werden.
2. Sollte der 3. String leer sein, dann sollen die Produkte automatisch zu 100% aufgenommen werden. (Wäre super wenn man das mit einer Checkbox aktivieren und abschalten könnte.)
(Habe die Datei mit der Checkbox hochgeladen: https://www.herber.de/bbs/user/36855.xls)
Falls diese beiden Modifikationen nicht sehr aufwendig sind, wäre das super wenn Du mir noch einmal helfen könntest.
Gruß Felix
Anzeige
AW: Datei
20.09.2006 15:57:25
Coach
Hallo Felix,
Du kannst jetzt in der Auswertungstabelle die gewünschten Projektnummern vorgeben (Achtung, entsprechend benannten Bereich beachten !), alle anderen Projekte werden direkt ignoriert.
Die Prozentalternative funktioniert wie gewünscht, Checkbox dafür an Zelle D2 gebunden und diese als Prozentkorrektur benannt.

Die Datei https://www.herber.de/bbs/user/36858.xls wurde aus Datenschutzgründen gelöscht

Aus welchem System kommen eigentlich die Basisdaten?
Gruß Coach
AW: Datei
20.09.2006 16:13:28
Felix
Da haben wir gerade wohl parallel geschrieben. Das mit der Checkbox ist super implementiert. Das die Projektspalte unverändert bleibt und die Werte den entsprechenden Projektnummern zugewiesen werden, klappt aber leider noch nicht.
Ich beziehe mich auf eine andere Excel-Datei, welche von SAP ausgegeben wird. Leider ist es mir aber nicht möglich direkt Änderungen im System vorzunehmen.
Gruß Felix
Anzeige
AW: Datei
20.09.2006 16:35:19
Coach
Hallo Felix,
verstehe ich nicht, den Projekten in der Tabelle Übersicht werden die Werte doch zugeordnet. Bitte kontrollieren, dass der Bereich "Projekte" korrekt benannt ist.
Gruß Coach
AW: Datei
20.09.2006 16:58:18
Felix
Hi, verstehe nicht an welcher Stelle ich den Bereich "Projekte" benennen muss. Habe mal ein paar mehr Projektnummern auf dem Tabellenblatt "String" eingetragen. Das können je nachdem mal 5 oder 500 Verschiedene sein. Ausserdem habe ich jetzt einen direkten Bezug vom Tabellenblatt "Projektübersicht" auf diese Spalte hergestellt. Wenn man das Makro aktiviert werden nicht alle Projektnummern durchlaufen und abgearbeitet. Wenn es gar keine Strings gibt, soll einfach für alle Produkte der Wert 0 eingetragen werden.
Ich muss mich an dieser Stelle wohl noch einmal sehr für Deine Mühe bedanken. Toll, dass es Leute gibt, die sich so engagieren.
Gruß Felix
(Die geänderte Datei: https://www.herber.de/bbs/user/36862.xls)
Anzeige
AW: Datei
20.09.2006 17:26:49
Coach
Hallo Felix,
das sind Namen, die sich in dem Fall auf Bereiche beziehen, man definiert diese unter Einfügen->Namen->definieren, hier dann "Projekte" auswählen und im Feld "Bezieht sich auf" (alt+u zum markieren) den Bereich auswählen, danach "Hinzufügen" + OK, dann Makro neu starten.
Gruß Coach
AW: Datei
21.09.2006 10:07:52
Felix
Jetzt habe ich es verstanden. Kannte die Funktion so noch nicht. Vielen Dank für die ausführliche Hilfe. Ich werde nun versuchen, das Makro auf mein System zu übertragen. Das sollte aber denke ich kein Problem sein.
Gruß Felix
AW: Datei
21.09.2006 14:43:24
Felix
Beim Übertragen der Daten konnte ich soweit alles passend modifizieren. Nur einen einzelnen Fehler bekomme ich leider nicht behoben:
Wenn ich das Makro starte bekomme ich folgende Fehlermeldung:
Laufzeitfehler '13': Typen unverträglich
mit dem Bezug auf folgende Zeile:
" AnzProj = MatchProjekt(rStr.Value)"
Kommt der hier mit den Typen "Range" und "Long" nicht zurecht oder liegt das daran, dass sich meine für die Variable 'rstr' definierten Zellen auf eine andere Tabelle beziehen?
Habe schon versucht mit "On Error Resume Next" das Problem zu überspringen. Leider funktioniert dann die Funktion mit der Checkbox nicht mehr. Wahrscheinlich liegt es einfach daran, dass sich in den Zellen eine Bezugszeile auf andere Zellen befindet oder? Gibt es eine Möglichkeit den nur auf den ausgegeben Inhalt zu referenzieren?
Anzeige
AW: Datei
21.09.2006 15:10:45
Coach
Hallo Felix,
wahrscheinlich steht in dem Feld ein Fehlerwert (womit ich nicht gerechnet habe) und dann funktioniert die implizite Typumwandlung nicht, bitte ersetze die Zeile durch
If IsError(rStr.Value) Then AnzProj = 0 Else AnzProj = MatchProjekt(rStr.Value)
Du kannst natürlich auch vor der dieser Zeile ein
If Not(IsError(rstr.value)) then
und vor dem
Set rStr = rStr.Offset(1, 0)
ein
End If
einfügen.
Gruß Coach
AW: Datei
21.09.2006 15:41:12
Felix
Hallo Coach,
beides behebt zwar die Fehlermeldung, aber die Funktion der Checkbox funktioniert nun nicht mehr. Ausserdem musst ich alle MessageBoxen ausschalten, da der für alle nicht ausgefüllten Felder eine Fehlermeldung rausgibt und mich fragt, ob ich fortfahren will. Richtige Werte werden also nur bei drei vollständigen Strings ausgegeben.
Gruß Felix
Anzeige
AW: Datei
21.09.2006 22:11:30
Coach
Hallo Felix,
es funktioniert alles wie gewünscht, das kannst Du testen, indem Du bei den selektierten Bereichen zB ein O vorgibst, dann werden bei deaktivierter Checkbox alle Werte auf 0 gesetzt, bei aktivierter Checkbox hat Projekt T-300 in Summe 400.000€ (je 200.00 aus String-Zeile 4+8) und Projekt tzsifd 90.000€. Die zweite..n. T-300-Zeile in der Auswertung bleibt natürlich immer 0, weil in der jeweils 1. Zeile kumuliert wird.
Die Auswertungs-Projekte nach tzsifd sind immer 0, weil der Algo nur bis zur ersten leeren Zeile lief, habe es so geändert, dass alle Zeilen gelesen werden.
https://www.herber.de/bbs/user/36913.xls
Gruß Coach
Anzeige
AW: Datei
22.09.2006 13:27:22
Felix
Nun scheint tatsächlich alles zu funktionieren. Vielen Dank nochmal!
Gruß Felix
AW: Datei
20.09.2006 14:56:20
Felix
Übrigens: Wenn die Daten nach den Projektnummern eingetragen werden braucht auch nicht bei jedem fehlenden String eine Fehlermeldung erscheinen. Es reicht wenn der Anwender auf Fehler innerhalb des Codes eines Strings hingewiesen wird.
AW: @Coach
20.09.2006 16:05:04
Felix
Die Zeilen in denen die Werte eingetragen werden müssen sich auf jeden Fall an den schon zuvor fix eingetragenen Projektnummern orientieren, da ich mich mit Diagrammen und anderen Tabellen fix auf diese Beziehe. Da nicht für alle Projekte Strings definiert sind, würde es zu extremen Verschiebungen kommen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige