781 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe folgendes Problem:
Ich muss aus einem Excel worksheet 4 Grafiken/Bilder aus einem bestimmten Bereich heraus in ein weiteres worksheet an die gleiche stelle kopieren. außerhalb dieses Bereiches gibt es andere Objekte (Rechtecke) die nicht kopiert werden dürfen. die Grafiken/Bilder werden regelmäßig gewechselt weshalb ich sie nicht mit Namen ansprechen kann.
Ich habe es mit folgendem Code versucht bekomme aber ständig einen Laufzeitfehler 438 "Objekt unterstützt Eigenschaft oder Methode nicht" in Zeile 5 heraus heraus.
außerdem weigert sich Excel standhaft die .InlineShapes anzunehmen, also aus .inlineshapes ein .InlineShapes zu machen.weiß jemand wie man die ansprechen kann? Die .Shapes nimmt er an (er schreibt das S groß) gibt aber den gleichen Fehler aus.



Dim shpLogo As Object
Dim i As Integer
With Sheets(1).Range("A1:H80")
For i = 1 To 4
Set shpLogo = .inlineshapes(i)
shpLogo.Copy
Sheets(6).Paste
shpLogo = Selection.Shapes
shpLogo.Left = .inlineshapes(i).Left
shpLogo.Top = .inlineshapes(i).Top
Next i
End With

kann mir jemand helfen?
Herzlichen Dank im voraus!
lg SirSolaris

3 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

Inlineshapes gibt es so viel ich weiß nur bei WORD.

Probier es mal so:

Sub ShapeKopieren()
Dim shaC As Shape
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet

Set wksQuelle = Worksheets(1)
Set wksZiel = Worksheets(6)

For Each shaC In wksQuelle.Shapes
If Not Intersect(shaC.TopLeftCell, Range("A1:H80")) Is Nothing Then
shaC.Copy
wksZiel.Paste
wksZiel.Shapes(wksZiel.Shapes.Count).Top = shaC.Top
wksZiel.Shapes(wksZiel.Shapes.Count).Left = shaC.Left
End If
Next

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Prima vielen Dank! Ich versuche es die Tage mal.
0 Punkte
Beantwortet von
Es funktioniert! danke!!!
...