Seite 1 von 1

Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 16:16
von udo44
Hallo!

Brauche dringend Eure Hilfe !!!

In meiner Tabelle stehen zwei Spalten A + B.

In der Spalte A steht als Inhalt eine Pfadangabe z. B. <imgsrc=/images/hersteller/§.jpg"alt=""style="width:492px;height:470px;"/><p></p>"

In der Spalte B steht die Bildnummer z. B. 543, welche an die Stelle des § ("§" ist nur ein Platzhalter zur besseren Erklärung) der Spalte A eingefügt werden muß.

Das ganze muß sich auf weitere ca. 6.500 Zeilen fortführen lassen.

Es darf jedoch keine Formel wegen eines späteren Datenbankimports in die Zellen eingetragen werden.

Bitte dringend um Info. DANKE

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 16:44
von turtle47
Hallo Udo,
udo44 hat geschrieben:Es darf jedoch keine Formel wegen eines späteren Datenbankimports in die Zellen eingetragen werden.
Auch nicht, wenn man die Formel wieder löscht?

In Deiner Tabelle gibt es doch bestimmt noch eine freie Spalte. Dort fügst Du folgende Formel

Code: Alles auswählen

=VERKETTEN(VERKETTEN(TEIL(A1;1;27);B1);(TEIL(A1;28;53)))
in die erste Zeile ein und ziehst diese runter bis zum Ende Deiner Eingaben in Spalte A. Dieser Teil mit den Formeln ist jetzt noch markiert.

Diesen Teil in die Zwischenablage kopieren und die Zelle A1 anwählen.
Dann Menue > Format > Inhalte einfügen. Alles abwählen ausser Text!
Jetzt steht in der Spalte A der reine Text und Du kannst die Hilfspalte mit der Formel löschen.

Hilft das weiter?

Jürgen

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 17:12
von balu
Hallo Leute,

die Idee von Jürgen ist nicht schlecht, aber den Teil mit der Formel würde ich vereinfachen.

Code: Alles auswählen

=WECHSELN(A1;"§";B1)
Erklärung:
In A1 steht der vorgegebene Text. (<imgsrc=/.....)
"§" der zu ersetzende Text
In B1 die einzusetzende Zahl (543)
In C1 die Formel eintragen.
WECHSELN geht nun daher, und tauscht den Platzhalter § durch die Zahl 543, und gibt den neuen Text in C1 aus. Das ist alles.
Diese Formel hat den Vorteil, das es keine Rolle spielt wie lang der Text ist. Der zu ersetzende Teil kann an 20., oder an 40. Stelle stehen, das spielt bei WECHSELN keine Rolle.

Und ansonsten so weiter machen, wie Jürgen erklärt hat.



Gruß
balu

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 17:15
von turtle47
Hallo Balu,

hast Du das auch gelesen:
udo44 hat geschrieben:("§" ist nur ein Platzhalter zur besseren Erklärung)
?

Jürgen

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 17:59
von chrk
Hallo zusammen,

Jürgen, warum verschachtelst Du die VERKETTEN-Funktion, die nimmt doch 30 Argumente.

Außerdem hast Du mit Deinem Einwand, dass das § ja nur ein Platzhalter ist, wahrscheinlich Recht, gehst aber in Deiner Formel davon aus, dass seine Werte eine feste Länge haben. Variabler ist

Code: Alles auswählen

=VERKETTEN(TEIL(A1;1;27);B1;TEIL(A1;FINDEN(".";A1);53))
- wobei ich bei der Länge 53 des dritten Arguments davon ausgegangen bin, dass das Anführungszeichen hinter dem </p> ein Tippfehler ist.

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 18:14
von balu
Hallo Leute,

@Jürgen
Ich hatte das schon gelesen, aber etwas falsch interpretiert (im Eifer des Gefechts). :oops:

@Christian
Deine Idee funzt auch noch net so ganz.
Denn sobald beim runterkopieren der Formel der Slash (/) hinter "hersteller" in der nächsten Zeile weiter nach rechts wandert, wegen z.B. "herstellerin", kommt ein fehlerhaftes Ergebnis dabei raus.
Ich knoble ja momentan auch noch an einer anderen Lösung, aber irgendwie ist mein Hirn heut etwas verknotet :twisted:


Gruß
balu

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 18:17
von turtle47
chrk hat geschrieben:Jürgen, warum verschachtelst Du die VERKETTEN-Funktion, die nimmt doch 30 Argumente.
Das hast Du natürlich recht. :D
Wenn ich die Formel mit dem Funktions-Assistenten erstellt hätte, dann wäre mir das sicher aufgefallen. :oops:

Da das Ganze wieder recht umständlich ist habe ich mal eine einfachere Lösung gebaut. :lol:
Das Ende der Tabelle wird automatisch erkannt und leere Zellen werden übersprungen.
Zelltext_verbinden.ods
(14.84 KiB) 27-mal heruntergeladen
Schöne Grüsse.

Jürgen

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 18:53
von chrk
Hi Balu,
balu hat geschrieben:Deine Idee funzt auch noch net so ganz.
Denn sobald beim runterkopieren der Formel der Slash (/) hinter "hersteller" in der nächsten Zeile weiter nach rechts wandert, wegen z.B. "herstellerin", kommt ein fehlerhaftes Ergebnis dabei raus.
Ich knoble ja momentan auch noch an einer anderen Lösung, aber irgendwie ist mein Hirn heut etwas verknotet :twisted:
Mach Dir nicht die Mühe. Die Strings sehen nach Web-Katalog aus, in dem alte Bilder durch neue ersetzt werden sollen. Da ist das einzig Variable dann der Dateiname.

Und für andere Fälle haben wir doch jetzt das Prinzip erklärt, oder?

Hi Jürgen,
an Deinem Makro verstehe ich nicht, wo der variable Teil beim Eingangsstring geblieben ist (ich hab's nicht laufen lassen, nur in den Code geguckt), ansonsten macht es nicht viel anderes als die Formel: Punkt lokalisieren, String am Punkt zerschneiden, Teil 1, neuen Dateinamen und Teil 2 zusammenfügen.

Richtig universell würde es, wenn man nach dem letzten Slash suchen würde, um den ersten Teilstring abzuteilen, nach dem Punkt für den zweiten.

Re: Zelleninhalt übernehmen

Verfasst: Di, 05.08.2008 20:40
von balu
Hallo Leute,

hab mir doch die Mühe gemacht.
Schere genommen, Knoten aufgeschnitten, Lösung gefunden :mrgreen:

Ich weiss, sie ist wohl nicht grad elegant, aber sie funzt (leider mit Hilfsspalte).

In Spalte C:

Code: Alles auswählen

=WECHSELN(A1;"/";"#";3)
Als erstes hab ich WECHSELN genommen, und da gesagt ersetze mir den DRITTEN Slash durch ein anderes Zeichen, in meinem Beispiel die Raute (#). Das Ergebnis wird hier ausgegeben.


In Spalte D:
Hier habe ich nun meine VERKETTEN-Formel eingesetzt:

Code: Alles auswählen

=VERKETTEN(TEIL(C1;1;SUCHEN("#";C1)-1);"/";B1;TEIL(C1;SUCHEN(".jpg";C1);LÄNGE(C1)-SUCHEN("#";C1)))
Erst wird alles Links vor der Raute genommen, dann wieder der Slash wieder eingesetzt.
Nun kommt der Inhalt von B1 dazu.
Jetzt wird ".jpg" gesucht, und ab dort dann alles übernehmen.

Bei dieser Methode spielt es keine Rolle wie lang der Text ist.

Sorry, das ich jetzt nicht ausführlicher in meinen Erklärungen geworden bin. Dafür ist im Anhang das ganze praktisch angewendet.

Hoffe das es jetzt zufriedenstellend passt. :roll: :D


Gruß
balu