Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: Excel Bereich in Word einfügen, Formen verschieben sich
#1
Guten Tag alle miteinander,

ich habe folgendes Problem.
Wenn ein Bereich aus Excel in Word kopiert wird und in dem Bereich auch Formen enthalten sind,
werden die Formen komplett schief und verrutscht in Word dargestellt.
Soweit ich weiß kann der Bereich als Bild eingefügt werden, dann ist das Problem nicht mehr vorhanden.

1.       Woran liegt das genau?
2.       Welche Lösungen gibt es dafür?
3.     Falls es nur die einzige Möglichkeit ist den Bereich als Bild einzufügen, wie ist dies in VBA realisierbar?


Schöne Grüße Joe


Angehängte Dateien
.xlsm   Formen nach Word kopieren.xlsm (Größe: 20,68 KB / Downloads: 4)
Antworten Top
#2
Push :)
Antworten Top
#3
Hi,

Code:
Sub Schaltfläche21_Klicken()
 Dim objShp As Shape
  Dim rng As Range, int_Index As Integer
  Dim arr_sh(), mySh
  'Shapes in diesem Bereich 'da ja deine Schaltfläche auch ein Shape ist.
  Set rng = Range("A1:G10")
 
  For Each objShp In ActiveSheet.Shapes
    If Not Intersect(objShp.TopLeftCell, rng) Is Nothing Then
       ReDim Preserve arr_sh(int_Index)
       arr_sh(int_Index) = objShp.Name
       int_Index = int_Index + 1
    End If
  Next
  If int_Index > 1 Then
    Set mySh = ActiveSheet.Shapes.Range(arr_sh).Group
  Else
    Set mySh = ActiveSheet.Shapes.Range(arr_sh(0))
   
  End If
  ActiveSheet.Shapes(mySh.Name).Copy
    With CreateObject("Word.document")
        .Application.Visible = True
        .Paragraphs.last.Range.Paste
   End With
   mySh.Ungroup
  Set rng = Nothing
  Set mySh = Nothing
 
End Sub

würde Dir das so passen?

lg
Chris
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#4
Perfekt! Danke Chris!

Schöne Grüße Joe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste