![]() |
|
|
zurück zur ÜbersichtDiskussionsgruppe: TabellenkalkulationHallo,
Von: iridium Datum: 04.01.2007, 15:35
alle Antworten zu dieser FrageAntwort 1 von schnallgonz vom 04.01.2007, 17:04 Hallo, es ist ausgeschlossen, dass in den jeweils zusammenhängenden Spalten innerhalb der 40 Werte eine NULL enthalten ist? Wenn ja, also immer 40 zusammenhängende Werte ohne Nullen, kann man alle Zellen mit Inhalt "0" durch "" also NIX ersetzen und diese Leerzellen dann über specialcells löschen. Bevor Du aber mit dem Makro rumfuchtelst, erst Datei sichern! Sub leerWechXlupSpalte()makro als Modul anlegen, evtl per Button starten. Hochkomma sind Kommentarzeilen, werden hier als Apostroph dargestellt, bitte im Code in Hochkomma ändern. gruß schnallgonz Antwort 2 von iridium vom 04.01.2007, 22:08 Hallo schnallgonz erstmal ganz herzlichen Dank für die schnelle antwort. ich bekomme mit dem skript allerdings eine fehlermeldung: Laufzeitfehler 1004 - Keine Zellen gefunden. Wähle ich dann Debuggen, zeigt er mir die zeilen beginnend mit ´range´ und ´specialCells´ in gelb an; ein pfeil deutet dabei auf die 2. Zeile (beginnend mit ´specialCells´). Was kann ich ändern? Grüße, iridium Antwort 3 von iridium vom 04.01.2007, 22:59 Sorry - Falscher Alarm: Das Macro geht doch!!! Allerdings nur, wenn es sich bei den Daten um ´harte´ Werte handelt. Bei meinen ursprünglichen Daten hatten alle Zellen der Tabelle eine ´Wenn´ Funktion zur Grundlage. Oder hätte es damit auch gehen müssen? Auf jeden Fall werde ich mich bei nächster Gelegenheit mal mehr mit VB beschäftigen. Toll was damit alles möglich ist! Dank und Gruß, iridium Antwort 4 von schnallgonz vom 04.01.2007, 23:41 Hi iridium, ich mach jetzt ersma mhd :-) morgen sehen wir weiter, weil: neuer Sachverhalt: Zitat: leere Zellen automatisch löschen sind aber nicht leer, sondern Zitat: der Rest besteht aus Nullen stimmt aber auch nicht, sind Zitat: alle Zellen der Tabelle eine ´Wenn´ Funktion Du siehst, in VBA muss man manchmal Erbsen zählen... Kann man bestimmt mit einer Schleife lösen, dauert nur wesentlich länger als mit specialcells Vielleicht fällt einem der nachtschwärmer noch was ein, ich überlege morgen weiter gruß schnallgonz Antwort 5 von iridium vom 05.01.2007, 11:44 Hallo schnallgonz - und natürlich alle anderen geneigten Leser... Da hatte ich sogar schon versucht, mich präzise zu formulieren. Asche auf mein Haupt... Zunächst: Das Skript funktioniert soweit. Nach einigen Stunden Trial-and-Error mit VBA bin ich sogar soweit, dass ich mit dem Ergebnis der Bastelei arbeiten kann. Allerdings - wie Du ja erkannt hast: Eine Zwischenstufe in der Verarbeitung der Daten ist bei mir eine ´Wenn´ Bedingung, die die ursprünglichen 3500 XY-Koordinaten auf unhandliche ~700.000 Zellen aufbläht (bitte nicht lachen!). Das ließe sich bestimmt mit VBA cleverer lösen und vielleicht kann mir jemand einen Tipp geben. Die Daten haben das Format: Spalte A: Probennummern 1-85 jede Nummer ca. 20-41fach, alles bündig untereinander Spalte B und C: X-Y-Koordinaten, zu den jeweiligen Nummern gehörig und müssen dieser zugeordnet bleiben Die Daten sollen in das Format: Spalte A: X-Koordinaten für Probennummer 1 Spalte B: Y-Koordinaten für Probennummer 2 Spalte C: X-Koordinaten für Probennumemr 3 ect. Falls Du oder jemand anderes eine Idee hat, die die Dateigröße auf irgendwas unter 35 MB (!) bringt - ich würde mich freuen! Viele Grüße und ein schönes WE, Iridum Antwort 6 von schnallgonz vom 05.01.2007, 21:04 Hallo iridium, für das Ausgangsproblem ist mir eine Lösung eingefallen, aber die Fragestellung hat sich geändert. Das Speichervolumen hängt natürlich an der Formelanzahl, Matrixformeln könnten schon Besserung bringen. Die Aufgabenstellung ist mir leider nicht ganz klar. Was ist z.B. mit der Y-Koordinate der ProbeNr1?
Bis dann gruß schnallgonz Antwort 7 von iridium vom 07.01.2007, 23:04 Hallo Gert, hallo Forumgemeinde, Zitat: Die Aufgabenstellung ist mir leider nicht ganz klar. Was ist z.B. mit der Y-Koordinate der ProbeNr1? Sorry - Flüchtigkeitsfehler; es sollte heissen: Die Daten sollen in das Format: Spalte A; Zeilen 1-41: X-Koordinaten für Probennummer 1 Spalte B; Zeilen 1-41: Y-Koordinaten für Probennummer 1 Spalte C; Zeilen 1-41: X-Koordinaten für Probennummer 2 Spalte D; Zeilen 1-41: Y-Koordinaten für Probennummer 2 und so weiter bis Spalte ´FN´ mit den Y-Koordinaten von Probe 85. So ergibt sich also bei 85 Probennummern mit jeweils max. 41 X-Y-Koordinaten eine neue Tabelle mit 170 Spalten und (abhängig von der Probennummer max.) 41 Zeilen. Die Koordinaten müssen bei Proben mit <41 Koordinaten oben bündig eingetragen werden. Zitat: Ausgangspunkt ist nur die übersichtliche Menge von 85 Proben mit den jeweiligen x-y-Koordinaten, d.h. 86 Zeilen (incl Überschriften) in den Spalten A bis C? Bei max. 41 Koordinaten-Paaren je Probennummer max. 3486 Zeilen (incl. Überschrift), in der Praxis aber eher ~2800 +/- 300. Tatsächlich ein paar Spalten mehr, da zusätzliche Parameter enthalten sind, die ich aber nicht benötige. Zitat: diese Werte sollen im Prinzip nur transponiert werden, und zwar im Wechsel jede 2. Zeile und in ein neues Blatt? Da komm ich jetzt nicht ganz mit. Also die Werte sollen in ein neues Blatt transponiert werden und zwar in Spalten abhängig von der Probennummer 1-85, die in Spalte B neben den jeweiligen Koordinaten steht. Spalte A enthält (und das sollte ich genau nehmen, wie ich jetzt gelernt habe) eine laufende Nummer (1- max. 3485) über alle Proben und Punkte. Zitat: Ist das eine einmalige Aktion oder immer wiederkehrend mit neuen Proben, die in die nächste freie Zeile tranponiert werden? Sagen wir ´einmalig´. Diese Datei wird eine Durchgangsstation, in die immer ein ´fertiger´ Datensatz vom beschriebenen Format reinkopiert und transponiert wird. Ich wollte die Datei schreibgeschützt verwenden. Die transponierten Daten werden dann in einer anderen Tabelle benötigt. Für mich ist diese Aktion allerdings sehr häufig wiederkehrend - sonst hätte ich nicht an das Forum gewendet, sondern mich einmal durchgerackert. Daher wäre es auch vorteilhaft, wenn die Datei nicht soo groß ist, denn da geht der Rechner schon in die Knie. Viele Grüße aus München, Iridium Antwort 8 von iridium vom 10.01.2007, 22:54 Ich hoffe, mir wird das nicht angekreidet - ich wollte nur den Eintrag nochmal in die höheren Zeilen zurückholen, da ich nach wie vor intensiv nach einer Lösung suche und Angst habe, dass das Posting da unten verstaubt. viele grüße, iridium Antwort 9 von coros vom 11.01.2007, 08:32 Hallo iridium, sorry, aber ich steige durch Deine Aufgabenstellung, bis auf die Eingangsfrage, nicht richtig durch. Wenn es Dir immer noch darum geht, Wert die eine 0 haben, zu löschen, dann versuche es mal mit Dem nachfolgendem Makro. Bei diesem Makro werden alle Nullwerte in den Spalte A und B gelöscht. Option ExplicitSollte das nicht mehr Bestandteil Deiner Fragestellung sein, weil eventuell erledigt, dann schreibe Deine Frage nochmal besser hier hin, so dass man das auch versteht. MfG, Oliver Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat. Antworten der Gruppe: Tabellenkalkulation
|
07101 07102 07103 07104 07105 07106 07107 |