Problem bei: wechsel in eine neue Zeile innerhalb derselben Zelle
#1
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
Antworten Top
#2
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?"
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
(08.02.2022, 10: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
Antworten Top
#4
Hallöchen,

warum nimmst Du eigentlich mal ActiveWindow und mal ActiveDocument?

   
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
(25.02.2022, 17: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?"
Antworten Top
#6
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?"
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
(26.02.2022, 11: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!
Antworten Top
#8
(26.02.2022, 11: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.
Antworten Top
#9
Hallöchen,

ein Umbruch hat eigentlich die 10 ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
(27.02.2022, 21: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.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste