Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
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

Zeilenweise Daten von Excel nach Word

Zeilenweise Daten von Excel nach Word
Excel
Hallo,
ich hätte da mal wieder eine Frage.
Ich will gerne Daten von Excel nach Word rüberkopieren.
Undzwar habe ich in der ersten Zeile 6 Zellen mit Inhalt.
Also A1 = Hallo B1 = 665 C1 = 21712432 .... u.s.w.
In der Zweiten Zeile hätte ich dann vielleicht nur 3 Zellen mit Inhalt ... also gibt es dafür kein festes Schema wie viel Inhalt in jeder Zelle ist!
Nun würde ich gerne vie Macro, das die Erste Zeile in Word auf einer Seite kopiert wird, anschließend wird die 2te Zeile auf die 2te Seite in Word kopiert u.s.w..
Das Macro sollte also schauen wie viele beschreibbare Zeilen es gibt, und dann diese Daten von Excel Nach Word Zeilen/Seitenweise dort einfügen.
Hätte vielleicht dort jemand ein paar gute Ideen oder Lösungen für mein Problem ?
Kann man auch gleich vielleicht den Word Text eine größere Schriftart und die Zentrierung mit integrieren ?
Danke schon einmal für eure Hilfe und Gruß
der Eddie

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilenweise Daten von Excel nach Word
19.01.2010 18:17:11
Excel
Hallo Eddie,
ein Beispiel.
Sub RangeToWord()
  Dim objWdApp As Object, objDoc As Object
  Dim rng As Range
  Dim strTmp As String
  Dim lngCol As Long, lngRow As Long, lngLast As Long
  
  Set objWdApp = CreateObject("Word.Application")
  Set objDoc = objWdApp.Documents.Add
  
  objWdApp.Visible = True
  
  With objDoc.Paragraphs.Format
    .Alignment = 1
    .Style.Font.Size = 20
    .Style.Font.Name = "Arial"
  End With
  
  With ActiveSheet
    lngLast = .Cells(Rows.Count, 1).End(xlUp).Row
    For lngRow = 1 To lngLast
      strTmp = ""
      If Application.CountA(.Rows(lngRow)) > 0 Then
        For lngCol = 1 To .Cells(lngRow, Columns.Count).End(xlToLeft).Column
          strTmp = strTmp & .Cells(lngRow, lngCol) & vbLf
        Next
      End If
      If Len(strTmp) Then
        strTmp = Left(strTmp, Len(strTmp) - 1)
        If lngRow > 1 Then
          objDoc.Range.InsertParagraphAfter
          objDoc.Paragraphs(objDoc.Paragraphs.Count).Range.InsertBreak Type:=7
        End If
        objDoc.Paragraphs(objDoc.Paragraphs.Count).Range.Text = strTmp
      End If
    Next
  End With
  
  Set objDoc = Nothing
  Set objWdApp = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Zeilenweise Daten von Excel nach Word
20.01.2010 08:51:44
Excel
Guten Morgen Sepp,
also erst einmal Danke für dein Macro, aber leider geht das noch nicht so wie ich es mir vorgestellt hatte ;-(
Ich habe mal 2 Dateien hochgeladen, damit es vielleicht noch einmal verdeutlicht wird .
https://www.herber.de/bbs/user/67336.xls
https://www.herber.de/bbs/user/67337.doc
Also es soll jede Zeile in Excel auf einer eigenen Seite in Word dargestellt werden.
Was mir gestern noch einfiel, vielleicht kann man Word auch gleich dazu sagen, das er ein Querformat der Seite erstellen soll, und die Schriftgröße kann man ja erst einmal auf 12 wieder stellen.
Das mit dem Querformat hatte ich schon mal versucht ".Orientation = wdOrientLandscape" aber das klappte leider nicht :-(
Danke und Gruß
Eddie
Anzeige
AW: Zeilenweise Daten von Excel nach Word
20.01.2010 13:12:16
Excel
Hallo Eddie,
"aber leider geht das noch nicht so wie ich es mir vorgestellt hatte ;-("
was funktioniert nicht?
Querformat und Schriftgröße hab ich eingestellt, aber bei manchen Zeilen passt nicht alles auf ein Blatt.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub RangeToWord()
  Dim objWdApp As Object, objDoc As Object
  Dim rng As Range
  Dim strTmp As String
  Dim lngCol As Long, lngRow As Long, lngLast As Long
  
  Set objWdApp = CreateObject("Word.Application")
  Set objDoc = objWdApp.Documents.Add
  
  objWdApp.Visible = True
  
  With objDoc.Paragraphs.Format
    .Alignment = 1
    .Style.Font.Size = 12
    .Style.Font.Name = "Arial"
  End With
  
  objDoc.PageSetup.Orientation = 1
  
  With ActiveSheet
    lngLast = .Cells(Rows.Count, 1).End(xlUp).Row
    For lngRow = 1 To lngLast
      strTmp = ""
      If Application.CountA(.Rows(lngRow)) > 0 Then
        For lngCol = 1 To .Cells(lngRow, Columns.Count).End(xlToLeft).Column
          strTmp = strTmp & .Cells(lngRow, lngCol) & vbLf
        Next
      End If
      If Len(strTmp) Then
        strTmp = Left(strTmp, Len(strTmp) - 1)
        If lngRow > 1 Then
          objDoc.Range.InsertParagraphAfter
          objDoc.Paragraphs(objDoc.Paragraphs.Count).Range.InsertBreak Type:=7
        End If
        objDoc.Paragraphs(objDoc.Paragraphs.Count).Range.Text = strTmp
      End If
    Next
  End With
  
  Set objDoc = Nothing
  Set objWdApp = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Zeilenweise Daten von Excel nach Word
20.01.2010 13:46:19
Excel
Hallo Sepp,
na da habe ich wohl wirklich etwas vergessen zu schreiben :-)
Also im Moment ist dein Makro nur so, das zwar alles nach Word rüberkopiert wird, aber eigentlich soll der Inhalt von zeile 1 auf Seite 1 in Word, der Inhalt der Zeile 2 auf Word Seite 2 u.s.w. ..... und im Moment ist es so, das alles untereinander und Zeilenweise in Word eingefügt wird, und es nicht immer eine neue Seite für eine neue Zele gibt.
Danke und Gruß
Eddie
AW: Zeilenweise Daten von Excel nach Word
20.01.2010 13:59:42
Excel
Hallo Eddie,
also, ich kann es mit Word 2003 nicht testen, aber bei mir wird jede Zeile auf eine neue Seite geschrieben.
Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige