Clever-Excel-Forum

Normale Version: Problem bei: wechsel in eine neue Zeile innerhalb derselben Zelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin zusammen,

Ich hatte zu Übungszwecken in einer Kopfzeile eine Tabelle erstellt und mittels Makrorekorder aufgezeichnet.
In einer der Zellen Schreibe ich einen Text und wechsle mittels Eingabetaste in eine weitere Zeile innerhalb derselben Zelle.

Selection.TypeText Text:="Beispiel"
Selection.TypeParagraph
Selection.TypeText Text:="Wer wie was warum?"

Das funktioniert einwandfrei.
In einem anderen Topic fragte ich, wie man die Zellen direkt ansprechen kann, da “Move“ zu umständlich ist.
Ein Mitglieder gab mit den Code:

ActiveDocument.Tables(1).Cell(1, 1).Range.Text = ""

Das funktioniert auch einwandfrei.
Was nicht funktioniert, ist der Wechsel in die nächste Zeile innerhalb derselben Zelle.

Selection.TypeParagraph

Das warum habe ich gefunden, weil nachdem das Wort "Beispiel" geschrieben wird, ist die Zelle markiert, anstatt das der Cursor am Ende des Wortes "Beispiel" steht.
Wenn ich also mit dem Code arbeite:

ActiveDocument.Tables(1).Cell(1, 1).Range.Text = "Beispiel"
Selection.TypeParagraph
Selection.TypeText Text:="Wer wie was warum?"

Wird der zweite Text vor den Ersten geschrieben, also: Wer wie was warum?Beispiel.
Wie bekomme ich jetzt den markierten Zustand der Zelle weg, den Cursor ans Ende des Wortes und mit dem Cursor eine Zeile tiefer in derselben Zelle?
Das Wort "Beispiel" soll eine Überschrift darstellen und würde variieren.

Gruß

Björn
Hallöchen,

warum nimmst Du nicht
ActiveDocument.Tables(1).Cell(1, 1).Range.Text = ActiveDocument.Tables(1).Cell(1, 1).Range.Text & "Wer wie was warum?"
(08.02.2022, 09:45)schauan schrieb: [ -> ]Hallöchen,

warum nimmst Du nicht
ActiveDocument.Tables(1).Cell(1, 1).Range.Text = ActiveDocument.Tables(1).Cell(1, 1).Range.Text & "Wer wie was warum?"

Moin,
erst mal danke für Deinen Tipp, wobei ich folgendes Problem habe.

Ich schreibe den ersten Satz in die Zelle:
ActiveWindow.Selection.Tables(1).Cell(1, 2).Range.Text = "Beispiel"
Funktioniert.

Beim zweiten Satz in der derselben Zelle (neue Zeilen innerhalb der Zelle) gibt es eine Fehlermeldung bei Tables (fett geschrieben).
Fehlermeldung = Fehler beim Kompilieren. Methode oder Datenobjekt nicht gefunden.
ActiveWindow.Tables(1).Cell(1, 2).Range.Text = ActiveWindow.Tables(1).Cell(1, 2).Range.Text & "Wer wie was warum?"

Gruß
Björn
Hallöchen,

warum nimmst Du eigentlich mal ActiveWindow und mal ActiveDocument?

[attachment=42351]
(25.02.2022, 16:03)schauan schrieb: [ -> ]Hallöchen,

warum nimmst Du eigentlich mal ActiveWindow und mal ActiveDocument?

Moin,
ich befinde mich in der Kopfzeile und da funktioniert ActiveDocument irgendwie nicht.

Was funktioniert ist:
ActiveWindow.Selection.Tables(1).Cell(1, 2).Range.Text = "Beispiel" & Chr(11) & "Wer wie was warum?"
Hallöchen,

oder so

Code:
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 1).Range.Text = _
  ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 1).Range.Text & "Wer wie was warum?"
(26.02.2022, 10:45)schauan schrieb: [ -> ]Hallöchen,

oder so

Code:
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 1).Range.Text = _
  ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 1).Range.Text & "Wer wie was warum?"

OK, werde ich später testen.
Danke!
(26.02.2022, 10:45)schauan schrieb: [ -> ]Hallöchen,

oder so

Code:
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 1).Range.Text = _
  ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 1).Range.Text & "Wer wie was warum?"

Moin,
ich habe Deinen Code ausprobiert und er funktioniert, aber wo ist der zweite Satzteil?
Ich habe mit Deinem Code etwas experimentiert, aber ich konnte in derselben Zelle keinen Umbruch mit einem zweiten Satz generieren.

Was funktioniert ist:
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 2).Range.Text = "Wer wie was warum?" & Chr(11) & "Beispiel"

Jetzt erkennt man wenigstens gleich, dass man sich in der Kopfzeile befindet.
Hallöchen,

ein Umbruch hat eigentlich die 10 ...
(27.02.2022, 20:02)schauan schrieb: [ -> ]Hallöchen,

ein Umbruch hat eigentlich die 10 ...

Sorry, hast recht!
Es ist keim Umbruch, sondern eine zweite Zeile innerhalb einer Zelle oder wie man das auch immer nennt.