Hallo!
Ausgangslage/Beispiel: Tabelle aus MS-Wordsdatei (ich hasse die Dinger) kopiert und in Excel eingefuegt, funztz soweit ganz gut.
nur sind die Texte einzelner Words-Zeilen auch in einzelnen Excel-Zellen gelandet
nun moechte ich mehrere Zellen (z.B. A5=„das ist“ A6=„ein Text“) so verknuepfen, dass dann in A5=das ist ein Text" steht und A6 leer ist
wie geht das - ausser von Hand rumzukloeppeln?
stelle es mir so vor: A5-A6 markieren, Menueaufruf Bearbeiten-Sowieso…
am besten KEIN extra geschriebenes/zu schreibendes Makro -> das soll auf allen Exceln gehen, gibts sowas nicht standardmaessig? (Applixware kann das z.B. - dachte ich…)
wer-hat-tips-fuer-mich?
DANKE
cu
kai
nun moechte ich mehrere Zellen (z.B. A5=„das ist“ A6=„ein
Text“) so verknuepfen, dass dann in A5=das ist ein Text" steht
und A6 leer ist
am besten KEIN extra geschriebenes/zu schreibendes Makro ->
das soll auf allen Exceln gehen, gibts sowas nicht
Hi kai,
naja, die paar Befehle die man für ein Makro bräuchte laufen garantiert in allen Excelversionen.
Stehen die Worte untereinander? Ich gehe mal davon aus, du meinst A5 und B5 und C5
In eine Hilfsspalte schreibst du in erste Zeile:
=a1&b1&c1
und ziehst die Formel nach unten
dann die Hilfsspalte kopieren und in Spalte A über Bearbeiten–InhalteEinfügen—Werte eintragen lassen.
Die anderen Spalten löschen.
Gruß
Reinhard
Hallo
naja, die paar Befehle die man für ein Makro bräuchte laufen
garantiert in allen Excelversionen.
ja das schon, aber man muesste dann das Makro HABEN
(mal eben so bei nem Kollegen isses halt aber nicht immer da…)
ausserdem lassen nicht alle Admins zu, dass man Makros in Ihrer heiligen Maschine oeffnet/installiert 
In eine Hilfsspalte schreibst du in erste Zeile:
=a1&b1&c1 und ziehst die Formel nach unten…
das geht leider nur, wenn man mehrere gleich aufgabaute Spalten nebeneinander hat.
hier sind aber Absaetze gemeint, die von Words zeilenweise aufgeteilt wurden (ggf. mit „Returns“ von Hand) und bei Excel daher zellenweise getrennt werden
-> das sind aber mal 2, mal 3, dann wieder einzelne usw. Zellen/Absatz
-> ich moechte aber den Absatz jeweils in EINER Zelle haben
-> dann kann ich Excel das schoen saeuberlich umbrechen/ausrichten lassen etc
cu
kai
Hallo,
das geht über eine Text-Funktion, allerdings wirst du eine Hilfszelle brauchen.
Wenn die Tabelle folgendermaßen aussieht:
A1 „Das ist“
A2 „ein Text“
dann gilt
B1 "=VERKETTEN(A1;A2)
wenn du zwischen den beiden Textteilen eine Leerstelle brauchst, dann
B1 "=VERKETTEN(A1;A3;A2)
und in Zelle A3 fügst du ein Leerzeichen ein
Ich hoffe das hilft.
Gerhard
Hallo,
das geht über eine Text-Funktion, allerdings wirst du eine
Hilfszelle brauchen.
B1 "=VERKETTEN(A1;A2)
naja =A1&" "&A2 in B1 waere ja das gleiche; ggf. mit GLÄTTEN() kombiniert
Ich hoffe das hilft.
wie schon zum Vorredner ausgefuehrt ist das Problem, dass die Struktur nicht einheitlich (ueberall 2 Zeilen/Absatz) ist
-> so ne Formelsache ist ideal bei mehreren gleich aufgebauten Tabellen
-> oder wenn man sowas (bei gleicher Struktur) oefter machen muss
aber hier waere es nur einmal (bei einem bestimmten Absatz) und jeder Absatz sieht anders aus -> dann ist ausschneiden in A2 und einfuegen/anhaengen in A1 ungefaehr genauso schnell wie Formel erstellen und Wert/Text rueberkopieren…
aber trotzdem Danke fuer Eure schnelle Hilfe
komme wohl nicht um ein MAkro drum rum…
-> hat jemand von Euch sowas schon mal gemacht?
(Makro, das Text aus Zelle xx in Zelle yy anhaengt)
danke
cu
kai
ausserdem lassen nicht alle Admins zu, dass man Makros in
Ihrer heiligen Maschine oeffnet/installiert 
Stimmt *g
hier sind aber Absaetze gemeint, die von Words zeilenweise
aufgeteilt wurden (ggf. mit „Returns“ von Hand) und bei Excel
daher zellenweise getrennt werden
-> das sind aber mal 2, mal 3, dann wieder einzelne usw.
Zellen/Absatz
-> ich moechte aber den Absatz jeweils in EINER Zelle haben
-> dann kann ich Excel das schoen saeuberlich
umbrechen/ausrichten lassen etc
Hallo Kai,
das Problem ist „mal 2, mal 3“.
Wären es immer 3 könntest du es so in einer Hilfsspalte zb. B lösen:
In b1: =INDIREKT(„a“&(ZEILE()-1)*3+1)&" „&INDIREKT(„a“&(ZEILE()-1)*3+2)&“ "&INDIREKT(„a“&(ZEILE()-1)*3+3)
Also müsstest du in Word oder Excel die Blöckzeilenanzahl für alle Blöcke gleichgroß hinzaubern.
Oder wenn du es hinkriegst dass deine tabelle so aussieht:
Tabellenblattname: Tabelle1
A B
1 Bayern München
2 Nürnberg
3 Rosenheim
4 Augsburg
5 Nordrhein-W. Köln
6 Düsseldorf
7 Essen
8 Duisburg
9 Dortmund
10 Saarland Saarbrücken
dann kann man ohne Makros in Excel dies Tabelle mittels Hilfsspalte erstellen lassen:
Tabellenblattname: Tabelle1
E F G H I
1 Bayern München Nürnberg Rosenheim Augsburg
2 Nordrhein-W. Köln Düsseldorf Essen Duisburg
3 Saarland Saarbrücken
Gruß
Reinhard
Gruß
Reinhard
cu
kai
Hallo,
vielleicht solltest du nochmal schildern, was du genau vorhast.
Warum willst du eine Word-Tabelle in einem Excel-Dokument verarbeiten?
Vielleicht gibt es elegantere Möglichkeiten.
Gerhard
Hallo Kai,
wir sind zwar hauptächlich ein Excelforum, aber vielleicht ist hier doch mal ein wenig Reklame für Word angebracht.
Wäre es nicht geschickter, die Absatzmarken innerhalb der Zellen noch in Word durch Leerzeichen zu ersetzen)?
Das Resultat kann dann problemlos nach Excel übertragen und dort weiterverarbeitet werden.
Grüße Aus Kamp-Lintfort
Erich
1 „Gefällt mir“
Hi
vielleicht solltest du nochmal schildern, was du genau
vorhast.
ich suche eine einfache und allgemein in Excel verwendbare Möglichkeit, den Inhalt mehrerer markierter Zellen aneinanderzuhängen (Leerzeichen dazwischen) und in der ersten der markierten Zellen abzulegen. die anderen werden geleert
Warum willst du eine Word-Tabelle in einem Excel-Dokument
verarbeiten?
weil jemand da angefangen hat und mit dem Ergebnis mehr als unzufrieden ist (machen bei uns aber immer wieder welche, ich hasse das und komme immer wieder zum Schluss, Excel wäre gescheiter gewesen…)
Beim ersten Rüberkopieren sind die Absätze aus Words aber meist in mehrere Zellen in Excel verteilt und eben genau das gilt es wieder zusammenzuführen…
Beispiel:
Spalte A, Zellen ab A1 runterwärts:
Das/ist/Block 1/ / / / / /…
Spalte B, Zellen ab B1 runterwärts:
Hier/steht/ein Text/ /Und hier/ist/Unterblock/2/…
daraus soll werden:
A1=Das ist Block 1
B1=Hier steht ien Text
Zeilen 2-4 sind leer, werden später entfernt
A5=leer
B5=Und hier ist Unterblock 2
Zeilen 6-8 sind wieder leer und werden später auch entfernt
dann kann man A1, B1 etc… über Ausrichtung etc. nett formatieren…
hoffe es ist jetzt klarer?
cu
kai
Hallo Kai,
statt in EXCEL Klimmzüge zu machen, solltest du die Inhalte in der Word-Tabelle vor dem Kopieren überarbeiten, damit beim Kopieren von Word nach EXCEL jede Zelle in Word zu einer Zelle in EXCEL wird.
Ersetze in der Word-Tabelle alle manuellen Zeilenumbrüche, Absatzmarken und Tabulatator-Schaltungen mit Suchen/Ersetzen durch ein Leerzeichen. Danach evtl. noch alle doppelten Leerzeichen durch ein einfaches Leerzeichen.
Jetzt sollte das Kopieren nach EXCEL eine saubere Tabelle ergeben.
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo
Wäre es nicht geschickter, die Absatzmarken innerhalb der
Zellen noch in Word durch Leerzeichen zu ersetzen)?
das wäre zumindest für den nächsten Versuch ein guter und wichtiger Hinweis!!
Danke
cu
kai
Hi
statt in EXCEL Klimmzüge zu machen, solltest du die Inhalte in
der Word-Tabelle vor dem Kopieren überarbeiten, damit beim
Kopieren von Word nach EXCEL jede Zelle in Word zu einer Zelle
in EXCEL wird.
wie bei Erich gesagt: werde ich beim nächsten mal versuchen „einzubringen“ (man kann ja nicht immer alles kontrollieren: wie war der Spruch mit dem Chaos und dem „aber wir können ja nicht überall sein“?
)
nur tritt das gleiche Problem beim Import aus SAP, Internet etc. auch auf, weshalb mich eine „Klimmzug-Lösung“ trotzdem interessieren würde!
cu
kai
Hi Kai,
wenn du es schaffen würdest in Word als erstes Wort eines jedendatenblocks das gleiche Wort , z.B „xyz“ an den Blockanfang zu stellen, ginge ggfs folgende Lösung.
Evtl könnte man den Punt in Word durch „xyz“ ersetzen, dann wären die Blöcke durch xyz unterteilt.
Naja, vielleicht hilft dir das nachfolgende weiter oder es produziert weitere Ideen hier 
Achtung: die Formeln in Spalte C sind Matrixformeln !
Tabellenblattname: Tabelle1
A B C D E F G H
1 xyz
2 das 1 xyz das ist ein satz
3 ist 9 xyz das auch
4 ein 15 xyz und das erst ist einer
5 satz 1000
6 1000
7
8
9 xyz
10 das
11 auch
12
13
14
15 xyz
16 und
17 das
18 erst
19 ist einer
Benutzte Formeln:
C2: {=WENN(ZÄHLENWENN(INDIREKT("A"&C1+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:1)))}
C3: {=WENN(ZÄHLENWENN(INDIREKT("A"&C2+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:2)))}
C4: {=WENN(ZÄHLENWENN(INDIREKT("A"&C3+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:3)))}
C5: {=WENN(ZÄHLENWENN(INDIREKT("A"&C4+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:4)))}
C6: {=WENN(ZÄHLENWENN(INDIREKT("A"&C5+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:5)))}
D2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
D3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
D4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
D5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
D6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
E2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
E3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
E4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
E5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
E6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
F2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
F3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
F4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
F5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
F6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
G2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
G3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
G4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
G5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
G6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
H2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
H3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
H4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
H5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
H6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
Gruß
Reinhard
Hallo Kai,
also Punkte durch „xyz“ ersetzen, dann folgende Tabelle:
Die Formeln in Spalte C sind Matrixformeln.
Da die Tabelle nicht sehr übersichtlich ist *g, das Ergebnis steht in E9:E11.
Tabellenblattname: Tabelle1
A B C D E F G H I J K
1 xyz
2 das 1 xyz das ist ein satz xyz
3 ist 6 xyz das auch
4 ein 12 xyz und das erst ist einer
5 satz 20 xyz
6 xyz 1000
7
8
9 das ist ein satz xyz
10 das das auch
11 auch und das erst
12 xyz
13
14
15
16 und
17 das
18 erst
19 ist einer
20 xyz
Benutzte Formeln:
C2: =WENN(ZÄHLENWENN(INDIREKT("A"&C1+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:1)))
C3: =WENN(ZÄHLENWENN(INDIREKT("A"&C2+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:2)))
C4: =WENN(ZÄHLENWENN(INDIREKT("A"&C3+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:3)))
C5: =WENN(ZÄHLENWENN(INDIREKT("A"&C4+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:4)))
C6: =WENN(ZÄHLENWENN(INDIREKT("A"&C5+1):A$1000;"xyz")=0;1000;KKLEINSTE(WENN((A$1:A$1000="xyz");ZEILE($1:blush:1000));ZEILEN($1:5)))
D2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
D3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
D4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
D5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
D6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
E2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
E3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
E4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
E5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
E6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
E9: =GLÄTTEN(E2&" "&F2&" "&G2&" "&H2&" "&I2&" "&J2)
E10: =GLÄTTEN(E3&" "&F3&" "&G3&" "&H3&" "&I3&" "&J3)
E11: =GLÄTTEN(E4&" "&F4&" "&G4&" "&H4&" "&I4&" "&J4)
E12: =GLÄTTEN(E5&" "&F5&" "&G5&" "&H5&" "&I5&" "&J5)
E13: =GLÄTTEN(E6&" "&F6&" "&G6&" "&H6&" "&I6&" "&J6)
F2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
F3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
F4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
F5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
F6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
G2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
G3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
G4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
G5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
G6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
H2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
H3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
H4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
H5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
H6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
I2: =WENN(INDIREKT(ADRESSE($C2+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C2+SPALTE()-4;1)))
I3: =WENN(INDIREKT(ADRESSE($C3+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C3+SPALTE()-4;1)))
I4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
I5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
I6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
J4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
J5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
J6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
K4: =WENN(INDIREKT(ADRESSE($C4+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C4+SPALTE()-4;1)))
K5: =WENN(INDIREKT(ADRESSE($C5+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C5+SPALTE()-4;1)))
K6: =WENN(INDIREKT(ADRESSE($C6+SPALTE()-4;1))=0;"";INDIREKT(ADRESSE($C6+SPALTE()-4;1)))
Gruß
Reinhard
Hallo kai,
ich habe noch ein wenig herumprobiert zumindest mit WORD und EXCEL Version 97. Das Ergebnis beim Kopieren von Tabellen aus Word nach EXCEL produziert immer einen mehr oder weniger großen Zellen-Salat in EXCEL, wenn in der Word-Tabelle Zeilen-, Absatzschaltungen und/oder Tab-Stopps enthalten sind. Dieser Salat läßt sich mit mit einfachen Mitteln nicht auflösen. Siehe die Versuche von Reinhard. Die einfachste Lösung ist über die Funktion VERKETTEN, aber die erfordert genausoviel Aufwand wie das manuelle zusammenbasteln.
Hier ist meine Makro-Lösung.
Sub Text\_zusammenfassen()
' Fügt den Text aus den markierten Zellen in der obersten, linken markierten Zelle ein
' Inhalte der Zellen werden gelöscht
'
Text = ""
Spalte = ActiveCell.Column
Zeile = ActiveCell.Row
For Each Zelle In Selection
If Zelle.Row Am besten dieses Makro einem Tastaturkürzel zuordnen oder einem Button in einer Symbolleiste.
Wenn zum Beispiel die Spaltentitel jeweils in Zeile 1 der Spalte zusammengezogen werden sollen, dann kann man auch die leere Zelle in Zeile 1 mit markieren. Die markierten Zellen müssen nicht in einem Bereich liegen. Man kann z.B. auch die Zellen B1, B4, A5 bis A7 markieren.
Gruß
Franz
> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>
1 „Gefällt mir“
Hallo!
Hier ist meine Makro-Lösung.
genial! *sternchen verdient hast!*
genau was ich gesucht habe - wenn es keine normale Excel-Funktion dazu gibt
aber warum das hier?:
If Zelle.Row
Hallo!
müßte man ggf. nicht auch ne Prüfung IF Zelle.Column eine Zelle im markierten Bereich heller etc…) und 2. wenn ich Dein Makro allgemein verwenden will um z. B. 4 Überschriften (nebeneinander) zu einer Blocküberschrift zusammenzufassen (ich kann danach die Zellen auch verbinden), ist das Ergebnis unterschiedlich, je nachdem, ob ich die 4 Zellen von vorne nach hinten oder umgekehrt markiere, oder?
-> eine Spaltenprüfung würde dafür sorgen, dass die vorderste Zelle genommen wird…
-> all das (oberste, linkeste Zelle nehmen) funzt bei rechteckigen Markierungen
-> aber wenn ich versch. einzelne Zellen markiere, ist die linkeste Spalte in der obersten Zeile evtl. gar keine der markierten Zellen (Bsp: markiert sind B5, C5, D3 -> „links oben“ wäre dann B3…)
cu
kai
cu
kai
Hallo!
müßte man ggf. nicht auch ne Prüfung IF Zelle.Column eine Zelle im
markierten Bereich heller etc…) und 2. wenn ich Dein Makro
allgemein verwenden will um z. B. 4 Überschriften
(nebeneinander) zu einer Blocküberschrift zusammenzufassen
(ich kann danach die Zellen auch verbinden), ist das Ergebnis
unterschiedlich, je nachdem, ob ich die 4 Zellen von vorne
nach hinten oder umgekehrt markiere, oder?
-> eine Spaltenprüfung würde dafür sorgen, dass die
vorderste Zelle genommen wird…
-> all das (oberste, linkeste Zelle nehmen) funzt bei
rechteckigen Markierungen
-> aber wenn ich versch. einzelne Zellen markiere, ist die
linkeste Spalte in der obersten Zeile evtl. gar keine der
markierten Zellen (Bsp: markiert sind B5, C5, D3 -> „links
oben“ wäre dann B3…)
cu
kai
Hallo kai,
nachdem das Makro mal zufriedenstellend funktionierte, hab ich nicht weiter alle Varianten der Auswahl ausprobiert.
Ich habe die IF-Anweisung jetzt weggelassen und lasse den Text in die aktive Zelle schreiben. Danach hab ich probiert.
Ergebnis:
Werden bei gedrückter Strg-Taste die Zellen markiert, dann fügt das Makro die Texte exakt in der Reihenfolge der Markierung zusammen, wobei markierte Spalten- bzw. Zeilenblöcke von oben nach unten bzw. von links nach rechts ausgelesen werden.
Die Zelle, in die der Text geschrieben werden soll, muß als letzte Zelle gewählt werden. Dies kann eine bereits markierte Zelle oder eine leere Zelle sein.
Das vereinfachte Makro sieht dann so aus:
Sub Text\_zusammezaehlen()
' Fügt den Text aus den markierten Zellen in der aktiven Zelle ein
' Inhalte der Zellen werden gelöscht
'
Text = ""
For Each Zelle In Selection
If Text = "" Or IsEmpty(Zelle) Then
Text = Text & Zelle.Value
Else
Text = Text & " " & Zelle.Value
End If
Zelle.Clear
Next
ActiveCell.Value = Text
End Sub
In der Kürze liegt halt manchmal doch die Würze
Gruß
Franz
Hallo Franz und Kai,
der unten vorgeschlagene Prozedur verhält sich bei Leerzeichen etwas anders als Franz’ Lösung, ist aber vielleicht ganz praktisch (und noch kürzer):
Sub Text\_sammeln()
' Sammelt die Inhalte aller markierten Zellen in der Reihenfolge der Markierung
' als Text in der aktiven Zelle.
' Führende und angehängte Leerzeichen der Teiltexte werden entfernt.
' Inhalte der markierten Zellen werden gelöscht.
' (Wenn auch Formate gelöscht werden sollen: "Clear" statt "ClearContents")
Dim txt$, zz As Range
For Each zz In Selection
txt = Trim(txt) & " " & Trim(zz.Value)
zz.ClearContents
Next zz
ActiveCell.Value = Trim(txt)
End Sub
Grüße
Erich