Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Copy & Paste

Copy & Paste
22.05.2017 15:02:17
Inshin
Moin,
für Eure Hilfe wäre ich dankbar…
Ich kopieren aus einer Excel Datei Textbausteine in eine Worddatei, in dem ich in Excel einen Doppelklick auf die Zelle mache und diese dann nach Word kopiert wird.
'markierte Zellen kopieren
Selection.Copy
'in Word einfügen
Word_App.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _
Placement:=wdInLine, DisplayAsIcon:=False
Word_App.Selection.TypeParagraph ' zeilenumbruch einfügen
Jetzt möchte ich das erweitern….
Ich möchte nun die Möglichkeit schaffen, mehrere Bausteine in Excel auszuwählen (z.B. Kreuz in der Nachbarspalte) und diese dann gesamt nach Word kopieren, jede Auswahl in eine neue Zeile in der Worddatei und mit einer Nummerierung. Das können zwische 1 und n Auswahltexte sein. Als Start der Kopiervorganges Doppelklick oder Buttom. Danach sollen alle Auswahlkreuze gelöscht werden.
Beispiel:
EXCELLISTE
Baustein 01 | x
Baustein 02
Baustein 03 | x
WORDDATEI
Ziel01 Baustein 01
Ziel02 Baustein 03

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy & Paste
22.05.2017 22:16:11
fcs
Moin Inshin,
damit die Formatierung für den zusätzlichen Text mit in die Worddatei übernommen wird muss man diesen schon in Excel in den Text einbauen - dies am besten in einer temporären Zusatzspalte.
In zwei For-Next-Schleifen kann man dann die Zeilenzählung ergänzen und die Zellen nach Word kopieren.
LG
Franz
Sub Makro___1()
Dim Word_App As Object  'Word.Application
Dim wks As Worksheet
Dim Zeile As Long, Zeile_L As Long
Dim Zaehler As Long
Const Zei_1 As Long = 2 '1. Zeile mit Baustei
Const Spa_X As Long = 2 'Spalte mit X-Einträgen
Const Spa_T As Long = 1 'Spalte mit den Baustein Texten
Const Spa_C As Long = 3 'temporäre Spalte für zu kopierende Texte
Set wks = ActiveSheet
Set Word_App = VBA.CreateObject("Word.Application")
Word_App.Visible = True
Word_App.Documents.Add DocumentType:=0 ' 0 = wdNewBlankDocument
With wks
Zaehler = 0
Zeile_L = .Cells(.Rows.Count, Spa_X).End(xlUp).Row ' 2 = Nummer der Spalte mit den "X"
'Spalte mit Textbausteinen in Zusatzspalte kopieren
.Columns(Spa_T).Copy .Columns(Spa_C)
'Nummerierung bei den zu kopierenden Texten einfügen
For Zeile = Zei_1 To Zeile_L
If UCase(.Cells(Zeile, Spa_X).Text) = "X" Then
Zaehler = Zaehler + 1
'markierte Zellen kopieren
.Cells(Zeile, Spa_C).Value = "Ziel " & Format(Zaehler, "00") & " " _
& .Cells(Zeile, Spa_C).Text
End If
Next Zeile
'gewählte Einträge nach Word kopieren
For Zeile = Zei_1 To Zeile_L
If UCase(.Cells(Zeile, Spa_X).Text) = "X" Then
.Cells(Zeile, Spa_C).Copy
'in Word einfügen
Word_App.Selection.PasteSpecial Link:=False, DataType:=1, _
Placement:=0, DisplayAsIcon:=False ' 1 = wdPasteRTF  0 = wdInLine
Word_App.Selection.TypeParagraph ' zeilenumbruch einfügen
End If
Next Zeile
'X löschen
.Range(.Cells(Zei_1, Spa_X), .Cells(Zeile_L, Spa_X)).ClearContents
'Spalte mit zu kopierenden Werten wieder löschen
.Columns(Spa_C).Delete
End With
Word_App.Activate
End Sub

Anzeige
AW: Copy & Paste
23.05.2017 12:13:38
Inshin
Moin Franz,
goil..funktioniert toll.
Ich habe die Daten bisher in ein schon geöffnetes Dokument kopiert mit
Set Word_App = GetObject(, "Word.Application")
Set Word_Doc = Word_App.ActiveDocument
Das habe ich noch geändert und alles funktioniert toll.
Vielen Dank für Deine Hilfe!!!
AW: Copy & Paste
23.05.2017 12:36:25
Inshin
MIST...kannst mir nochmals unter die Arme greifen. Ich bekomme nun Fehlermeldungen dass
kein Dokument geöffnet ist. Wie pass ich das an?
Ich habe aus
Set Word_App = VBA.CreateObject("Word.Application")
Word_App.Visible = True
Word_App.Documents.Add DocumentType:=0 ' 0 = wdNewBlankDocument
das gemmacht
Set Word_App = GetObject(, "Word.Application")
Set Word_Doc = Word_App.ActiveDocument
Word_App.Visible = True
aber das geht nicht, er findet anscheinend kein aktives Dokument.
Anzeige
AW: Copy & Paste
23.05.2017 13:44:05
Inshin
ich habe gelesen das beim Öffnen des Dokumentes es automatisch auf aktiv gesetzt wird.
Das erklärt auch warum ich eine Fehlermeldung bekomme wenn ich in eine geöffnetes Doc
kopieren möchte,
Kann man den Code so ändern das geprüft wird ob ein bestimmtes Dokument geöffnet ist?
Wenn ja -- setzte es aktiv und kopiere den Excel Inhalt und wechsele wieder zu Excel (Word nicht schließen)
Wenn nein -- öffne ein bestimmtes Dokument und kopiere den Excel Inhalt und wechsele wieder zu Excel (Word nicht schließen)
AW: Copy & Paste
23.05.2017 15:42:04
Inshin
habe die Frage wieder auf geöffnet gesetzt...bekomme es nicht gebacken auf ein geöffnetes Dokument zuzugreifen...unglaublich.
thx Tom
Anzeige
AW: Daten von Excel nach Word
24.05.2017 04:43:07
Excel
Hallo Tom,
ich hab das Makro angepasst, so dass die verschiedenen Varianten
- Word geöffnet/nicht geöffnet
- Word-Dokument geöffnet / nicht geöffnet
abgedeckt sind.
Das Ganze läuft über eine Fehlerbehandling mit entsprechender Aktion.
LG
Franz
Sub Bausteine_nach_Word_kopieren()
Dim Word_App As Object  'Word.Application
Dim Word_Doc As Object  'Word.Document
Dim wks As Worksheet
Dim Zeile As Long, Zeile_L As Long
Dim Zaehler As Long
Dim strPathDatei As String
Dim strNameDatei As String
Dim MsgTitel As String
Const Zei_1 As Long = 2 '1. Zeile mit Baustei
Const Spa_X As Long = 2 'Spalte mit X-Einträgen
Const Spa_T As Long = 1 'Spalte mit den Baustein Texten
Const Spa_C As Long = 3 'temporäre Spalte für zu kopierende Texte
MsgTitel = "Textbausteine nach Word kopieren"
'Verzeichnis der Word-Datei
strPathDatei = "C:\Users\Public\Test" & "\" ' anpassen ggf. deaktivieren/löschen!!!"
'Variante wenn Worddatei im gleichen Verzeichnis liegt wie diese Exceldatei
'    strPathDatei = ThisWorkbook.Path & "\"      'Zeile ggf. deaktivieren/löschen!!!"
'Name der Word-Datei
strNameDatei = "TestWord.docx"         'anpassen!!!
On Error GoTo Fehler
Set wks = ActiveSheet
'Prüfen, ob gg. zu öffnende Datei existiert
If Dir(strPathDatei & strNameDatei) = "" Then
MsgBox "Word-Datei existiert nicht" & vbLf & strPathDatei & strNameDatei, _
vbInformation + vbOKOnly, "Fehler - " & MsgTitel
Exit Sub
End If
'Prüfen, ob Bausteine markiert sind
With wks
'letzte Zeilemit Daten in Spalte mit "x"
Zeile_L = .Cells(.Rows.Count, Spa_X).End(xlUp).Row
If Zeile_L 

Anzeige
AW: Daten von Excel nach Word
25.05.2017 21:44:26
Excel
Hey Franz,
das funktioniert einwandfrei und zudem noch super erklärt.
perfekt....vielen lieben Dank dafür.
Grüße von der Insel
Tom

251 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige