PDA

Vollständige Version anzeigen : Kopieren


friedel55
16.04.2011, 15:38
Hallo ,ich möchte mit dem CommandButton den Wert von Tabelle 1 a8 nach Tabelle 2 a20 und die beiden Bilder in das Viereck kopieren.
Das mit den Wert habe ich hinbekommen aber mit den Bildern geht’s irgendwie nicht.
Bitte könnte mir jemand dabei helfen?

Beverly
16.04.2011, 20:36
Hi Friedel,

vielleicht hilft dir das weiter:
Sub Kopieren()
Range("A8:C9").Copy Worksheets("Tabelle2").Range("A20:C21")
ActiveSheet.Shapes("ToCopy_1").Copy
With Worksheets("Tabelle2")
.Paste
.Shapes(1).Top = Range("E28").Top
.Shapes(1).Left = Range("E28").Left
End With
ActiveSheet.Shapes("ToCopy_0").Copy
With Worksheets("Tabelle2")
.Paste
.Shapes(2).Top = Range("E40").Top
.Shapes(2).Left = Range("E40").Left
End With
End Sub

<hr width="20%" align="left"><img src="http://beverly.excelhost.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://beverly.excelhost.de/" onclick="window.open(this.href);return false"><img border="0" src="http://beverly.excelhost.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

friedel55
17.04.2011, 07:38
Danke Beverly.

Ist es auch möglich die bilder an einer bestimmten stelle im viereck zu positionieren ?

Beverly
17.04.2011, 08:59
Hi Firedel,

die Codezeilen ...Top = .... und ...Left = .... geben die Position der Oberkante und die Position der linken Kante der kopierten Grafik im Tabellenblatt an. Im Beispielcode wird dazu die Position der Oberkante und des linken Randes von Zellen verwendet, also Zelle E28 (1. Shape) und E40 (2. Shape). Anstelle eines Bezugs zu einer Zelle kann man auch eine Zahl verwenden, also z.B. ...Top = 100 und ...Left = 50, wobei 0 / 0 die linke obere Ecke des Tabellenblattes repräsentiert. Schau dazu auch mal in die VBA-Hilfe zum Stichwort "Left-, Top-Eigenschaften".

<hr width="20%" align="left"><img src="http://beverly.excelhost.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://beverly.excelhost.de/" onclick="window.open(this.href);return false"><img border="0" src="http://beverly.excelhost.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

friedel55
17.04.2011, 19:39
Hallo Beverly ,

das hat jetzt alles gut geklappt,nur wie mache ich das wenn ich andere Bilder in der Tabelle habe z.b. Bild 1 ,Bild 2,Bild 3,Bild 4, Bild 5, und möchte Bild 2 und Bild 5 kopieren ?

Beverly
17.04.2011, 21:05
Hi Friedel,

mit ActiveSheet.Shapes("ToCopy_1") werden die Bilder mit ihrem Namen angesprochen. Du müsstest halt den Namen der betreffenden Bilder die kopiert werden sollen auf eine Variable schreiben (wie du das genau machst kann ich nicht sagen, da ich nicht weiß, nach welchem Prinzip und wie du die Bilder auswählst) und anstelle des im Beispiel enthaltenen Namen "ToCopy_1" schreibst du den Namen deiner Variablen: ActiveSheet.Shapes(DeineVaiable1)

<hr width="20%" align="left"><img src="http://beverly.excelhost.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://beverly.excelhost.de/" onclick="window.open(this.href);return false"><img border="0" src="http://beverly.excelhost.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>