wernersb
Goto Top

Makro anpassen

Ich möchte ein bestehendes Makro so anpassen, dass es möglich ist einen Zellbereich z.B. B2:E5 auslesen zu können.

Hallo zusammen

Im Word-Forum habe ich bereits einen Beitrag zu Fußzeile in mehren Documenten ändern stehen.
Die Hilfestellung war absolut ok und ich habe mir ein Makro aus dem entsprechenden link heruntergeladen.

In diesem Makro wird eine Zelle ausgelesen und der Inhalt in alle Fußzeilen von Documenten eines Verzeichnisses eingefügt.

die Befehlszeile sieht folgendermassen aus:

"If .Execute(SortBy:=msoSortByFileName, sortorder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
objWord.Documents.Open .FoundFiles(i)

Set Fusszeile = objWord.ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
Fusszeile.Text = Cells(4, 2)

objWord.ActiveDocument.Save
objWord.ActiveDocument.Close"

In dieser Zelle (B4) steht nun ein Text, dieser wird auch ohne Problem in die Documente eingefügt.

Wenn ich aber das Makro so ändere, dass ich einen Zellbereich (B4:E5) einfügen möchte bekomme ich einen Kompilierungsfehler.
Ich verändere: "Cells(4,2)" zu "Range("B4:E5")"

Wo liegt da grundsätzlich mein Denkfehler?

Freundliche Grüße von der Saar
Werner

Content-ID: 127367

Url: https://administrator.de/contentid/127367

Ausgedruckt am: 15.11.2024 um 05:11 Uhr

76109
76109 18.10.2009 um 14:53:03 Uhr
Goto Top
Hallo Wernersb!

Der Denkfehler besteht darin, dass Du versuchst ein ganzes Array, also mehrere Zellinhalte in einen Text-String zu lesen und das geht so nicht.

Versuch das mal:
For Each c In Range("B4:E5")  
    Fusszeile.Text = Fusszeile.Text & c  
Next

Gruß Dieter