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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127367
Url: https://administrator.de/contentid/127367
Ausgedruckt am: 15.11.2024 um 05:11 Uhr
1 Kommentar
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:
Gruß Dieter
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