Ich habe dynamische benannte Bereich der Zelle. Ich muss jeden benannten Bereich in eine Seite des Wortes einfügen und zur nächsten Seite für den nächsten benannten Bereich wechseln. Ich habe versucht, Code zu kopieren, was ich nicht kann.Jede benannte Bereichsdaten überlappen sich gegenseitig. Kann mir bitte jemand helfen?Excel VBA kopieren Einfügen jedes benannten Bereichs in Word
Antwort
Es klingt, als ob Sie jeden Bereich auf verschiedene Seiten kopieren möchten, also bin ich nicht sicher, warum Sie eine Union verwenden. Hier ist ein kurzes Beispiel für das Kopieren jedes benannten Bereichs "name" auf ein neues Blatt in einem Word-Dokument. Hinweis: Ich habe zur Vereinfachung ein neues Dokument erstellt.
Bearbeiten - Ich habe die Copy/Paste-Funktionalität der Daten an das Ende hinzugefügt. Formatierung und dergleichen hängt davon ab, was Sie haben oder wollen.
Sub main()
'Create new word document
Dim objWord As Object
Dim objDoc As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.documents.Add()
Dim intCounter As Integer
Dim rtarget As Word.Range
Dim wbBook As Workbook
Set wbBook = ActiveWorkbook
'Loop Through names
For intCounter = 1 To wbBook.Names.Count
Debug.Print wbBook.Names(intCounter)
With objDoc
Set rtarget = .Range(.Content.End - 1, .Content.End - 1)
'Insert page break if not first page
If intCounter > 1 Then rtarget.insertbreak Type:=wdPageBreak
'Write name to new page of word document
rtarget.Text = wbBook.Names(intCounter).Name & vbCr
'Copy data from named range
Range(wbBook.Names(intCounter)).Copy
Set rtarget = .Range(.Content.End - 1, .Content.End - 1)
rtarget.Paste
End With
Next intCounter
End Sub
Excel
Resultierende Word-Dokument
Ich glaube nicht, das ist die beste Lösung da draußen ist (wie ich don‘ t normalerweise mit Word VBA spielen) aber ich habe dies versucht, und es hat scheint zu funktionieren:
Sub AddNamedRangesToWordDoc()
Dim oWord As Word.Application
Dim oDoc As Word.Document
Dim intCount As Integer
Dim oRng As Range
Dim oSelection As Object
Set oWord = New Word.Application
Set oDoc = oWord.Documents.Add
oWord.Visible = True
For intCount = 1 To ActiveWorkbook.Names.Count
Set oRng = Range(ActiveWorkbook.Names(intCount).RefersToRange.Name.Name)
oRng.Copy
oDoc.ActiveWindow.Selection.PasteSpecial , , 0
Set oSelection = oWord.Selection
oSelection.InsertBreak (wdPageBreak)
Next
Set oSelection = Nothing
Set oRng = Nothing
Set oDoc = Nothing
Set oWord = Nothing
End Sub
HINWEIS: Ich erstelle ein neues Wort Anwendung. Möglicherweise müssen Sie prüfen, ob das Wort bereits geöffnet ist und wie Sie mit einem vorhandenen Word-Dokument umgehen möchten. Außerdem erstelle ich das Wort Objekt nicht. Ich habe Microsoft Word xx.x Object Library
im Projekt referenziert, da ich es vorziehe, mit eingebauten Bibliotheken zu arbeiten. Außerdem setzt die Funktion voraus, dass Sie nur 1 Arbeitsblatt haben und alle Bereiche in diesem Arbeitsblatt sind
Danke !. Es funktioniert – Manish
- 1. Kopieren Einfügen Charts Excel VBA
- 2. Kopieren von Zellbereichen, Einfügen in Word und Format - Excel VBA
- 3. VBA: Kopieren als Bild aus Excel und Einfügen in Word
- 4. Excel VBA Kopieren/Einfügen Fehler
- 5. Excel VBA Datei kopieren, aber nicht einfügen
- 6. Word-Dokument öffnen, bestimmten Text kopieren, in Excel-Tabelle einfügen
- 7. Einfügen einer Zeichenkette von Excel zu Word mit Word-VBA
- 8. Excel 2010 VBA Makro Kopieren/Einfügen
- 9. Vergleichen, Kopieren und Einfügen mit VBA Excel
- 10. Kopieren einfügen als Werte Excel VBA
- 11. Word/Excel Vba vlookup "Index außerhalb des Bereichs" Fehler
- 12. Ausschneiden - Einfügen eines automatisch erkannten Bereichs in Excel VBA
- 13. Kopieren und Einfügen von Informationen aus Microsoft Word OLEObject in Excel-Datei über VBA
- 14. Einfügen funktioniert nicht zwischen Excel und Word über VBA
- 15. VBA Kopieren + Einfügen Code
- 16. Probleme Einfügen eines Word-Gleichung in Excel
- 17. Kopieren eines Bildes - Excel VBA
- 18. Kopieren und Einfügen EINSCHLIESSEN Lesezeichen VBA
- 19. Kopieren Einfügen VBA-Schleife
- 20. Einen benannten Excel-Bereich in ein Array (VBA) lesen
- 21. Cant einfügen - Excel VBA
- 22. Excel VBA Autofilter Kopieren Einfügen in neue benannte Blätter
- 23. Word-Dokumente in VBA EXCEL zusammenführen (Ausgabe: umgekehrte Reihenfolge)
- 24. Excel Vba - Zeilennummer kopieren
- 25. Looping Word Match-Funktion in Excel VBA
- 26. Excel Kopieren und einfügen
- 27. CopyOrigin on Einfügen in Excel VBA
- 28. Ausschneiden/Einfügen verhält sich wie Kopieren/Einfügen in Excel
- 29. Einfügen von Tab-Zeichen in Word-Dokument von VBA
- 30. Excel: Wie Kopieren Einfügen-Befehl an ausgewähltem Blattbereich (VBA)
Vielen Dank für Ihre Antwort! Die Daten werden nicht angezeigt, stattdessen wird der Arbeitsblattbereich auf jeder Seite angezeigt (= GenForm! $ A $ 1: $ E $ 22, = GenForm! $ A $ 24: $ E $ 29 usw.). Irgendein anderer Grund dafür? – Manish
Siehe Bearbeiten - Ich habe ein einfaches Kopieren/Einfügen der Daten hinzugefügt. Es war nicht klar aus deinem Code, dass du etwas anderes als die Reichweite haben wolltest, also habe ich das ursprünglich weggelassen. –
Danke! Seine Arbeit – Manish