Word und Excel

Hallo
zwei Fragen, wie kann ich in Excel auf eine Zelle bzw. nur die Zeilen zugreifen, wenn der AutoFilter aktiviert ist.
Ih selektiere meine Zeilen ja dann nach einem Wert in einer Spalte.
Danach sind manche Zeilen ausgeblendet und ich möchte nur mit den noch sichtbaren Zeilen und zellen Arbeiten, d.h. diese Zeilen zählen und in einer Schleife nur diese Zeilen durchlaufen.

Wie geht das.

Andere Frage in Word würde ich gerne bestimmte Textstellen per Programm einbauen, d.h. Vorname Name an einer bestimmten Stelle in Word einbauen. Wie geht das?
Es reicht mir auch aus, wenn ich zb den gesamten Inhalt des Worddokumentes in einer Variablen habe und hier Texte ersetze zb xNamex durch Hannes zb. Allerdings sind in dem Worddokument auch Tabellen. Auch hier möchte ich Texte suchen und ersetzen.

Wie geht das.

mfg niri

Antwort zu Excel
Hallo nirwana,

du musst die Zeilenhöhe (Height) abfragen. Ist sie 0, ist die Zeile ausgeblendet. Also etwa so (Pseude-Code):

For z = 1 to …
If Cells(z, 1).Height 0 Then

End If

Zu deiner Word-Frage habe ich keine Ahnung.

Gruß, Andreas

Hi,

wenn ich’s recht verstehe, soll ein Makro in Deinem Word irgendwelche Angaben an bestimmten Stellen eintragen, wobei sich einige dieser Stellen in Tabellen befinden.

Wenn das ein einmaliger Prozeß pro Dokument ist, ist’s ganz einfach:

  • Du kennzeichnest vorher die Einfügestellen per Textmarke (Strg+Shift+F5)
  • in VBA läufst Du durch die Bookmarks-Collection:

For each b in ActiveDocument.Bookmarks

und fügst die Daten ein:

b.Range.InsertAfter DeinWert

Ist das ein wiederkehrender Prozeß, gibt’s zwei Möglichkeiten:
a) Du beschäftigst Dich mit Dokumentvorlagen, erzeugst jedes Dokument auf Basis einer speziellen (ebenfalls vorher von Dir erzeugten) DoT und fügst wie oben beschrieben die Werte ein
b) wenn unbedingt in ein und denselbem Dokument mehrmals die Werte verändert werden müssen, muß eine Besonderheit von Word umgangen werden:
wenn man eine Textmarke (per VBA oder manuell) neu befüllt, ist sie weg. Also:

b.Range.Text = DeinWert

führt dazu, daß b hinterher weg ist. Deshalb muß man sich den b.Range.Start und nach dem Einfügen von DeinWert die Textmarke wieder vor den ersten Buchstaben von DeinWert setzen.

Ob die Textmarke im Fließtext oder in Tabellen ist, ist dabei egal.

HTH.

Markus

Zu Word

Es reicht mir auch aus, wenn ich zb den gesamten Inhalt des
Worddokumentes in einer Variablen habe und hier Texte ersetze
zb xNamex durch Hannes zb. Allerdings sind in dem Worddokument
auch Tabellen. Auch hier möchte ich Texte suchen und ersetzen.

Hallo Niri,

Bearbeiten–Ersetzen ersetzt doch auch in Tabellen.

Gruß
Reinhard

Zu dir, antwortest du noch? o.w.T.