Ich habe ein Datenblatt und der Bereich variieren jede Woche Bedeutung zuletzt verwendete Zeile und zuletzt verwendete Spalte variieren. Ich hoffe, 3 Bereiche gleichzeitig zu kopieren und es als Bild in Wort mit VBA einzufügen. Dies ist Teil eines größeren Codes, deshalb hoffe ich, es zu erreichen, indem ich VBA schreibe.kopieren dynamische Bereiche von Excel zu Wort VBA
Der Grund hinter 3 Bereichen gleichzeitig ist, weil die Bildgröße am besten in Wort passt. Die Header werden in Zeile 2 und 3 zusammengeführt. Ich zeige Ihnen 4 Bereiche, aber manchmal bekomme ich 2 Bereiche und manchmal 6 Bereiche. d. h. 3 Bereiche oder darunter sollten nur ein Bild sein und von 4-6 Bereichen bedeutet, dass ich 2 Bilder in Wort habe.
Gerade jetzt, wenn ich meine Codes ausführen, wird nichts in Wort eingefügt.
Sub Table()
Dim wdapp As Word.Application
Set wdapp = New Word.Application
With wdapp
.Visible = True
.Activate
.Documents.Add
End With
With ThisWorkbook.Worksheets("Table")
Dim a, b, c, RR As Range
'1
Set a = .Cells.Find("Header1", LookIn:=xlValues)
If Not a Is Nothing Then
Dim firstAddress As String
firstAddress = a.Address
Do
' 2
Set b = .Cells.Find("Header1", a, LookIn:=xlValues)
' 3
Set c = .Cells.Find("Header1", b, LookIn:=xlValues)
'Union
Set RR = Union(Range(a.End(xlDown).End(xlDown), a.Resize(, 7)), Range(b.End(xlDown).End(xlDown), b.Resize(, 7)), Range(c.End(xlDown).End(xlDown), a.Resize(, 20)))
RR.CopyPicture Appearance:=xlScreen, Format:=xlPicture
wdapp.Selection.Paste
Set a = .UsedRange.FindNext(a)
If a Is Nothing Then Exit Do
Loop While a.Address <> firstAddress
End If
End With
End Sub
Vielen Dank für Ihre Eingabe, jetzt kopiert es jeden Bereich als ein Bild, aber wie kann ich ändern, so dass ich 3 Bereiche gleichzeitig bekommen kann? – sc1324
Versuchen Sie, mit der Funktion 'Union' herumzuspielen. Jetzt haben Sie einen funktionierenden Code, um es zu unterstützen, dies sollte machbar sein. Wenn Sie danach immer noch Probleme haben, schreiben Sie Ihren Versuch auf diesen Teil des Problems und wir können es uns dann ansehen. – bobajob
Ok, ich habe versucht, Bereiche mit Union zu definieren, aber ich denke nicht, dass das korrekt ist, da ich definieren muss, wie viele Bereiche, um a, b, c und die Ergebnisse, die ich habe, ist a, b, c in ein Graph und b, c, d in einem anderen .... aber ich will a, b, c als eins, und d als zweites. Wir können auf die Tatsache verzichten, dass d größer sein wird, da es ein Solo ist – sc1324