Bild in Zellenmitte einfügen
#1
Hallo zusammen

Ich würde gerne ein Bild von Tabellenblatt 2 in die Aktive Zelle auf Tabellenblatt 1 einfügen.
Dabei soll das Bild in die Zellenmitte eingefügt werden.

Muss ich hier mit einer Objektvariablen arbeiten und dann mit der With-Anweisung arbeiten?

Das einfügen kriege ich mit dem folgenden Code problemlos hin

Code:
    Worksheets("Tabelle2").Activate
    Worksheets("Tabelle2").Shapes.Range(Array("7032")).Select
    Selection.Copy
    Sheets("Tabelle1").Activate
    ActiveCell.PasteSpecial


Danke schonmal im voraus.

LG Primo
Antworten Top
#2
Hallo,

Zellen und Shapes haben die Eigenschaften Top, width, height und left.

Damit kannst du den Zielort berechnen und  folgerichtig dein Bild exakt positionieren

VG Juvee
[-] Folgende(r) 1 Nutzer sagt Danke an juvee für diesen Beitrag:
  • Primo Centurio
Antworten Top
#3
Hallo Primo,

z.B. so
Code:
Sub BildZentrieren()
  Dim vSel As Variant
  Dim rngZ As Range
  Set vSel = Selection
  If VarType(vSel) = vbObject Then
    With vSel
      Set rngZ = .TopLeftCell
      .Top = rngZ.Top + (rngZ.Height - .Height) / 2
      .Left = rngZ.Left + (rngZ.Width - .Width) / 2
      .ShapeRange.LockAspectRatio = -1
      .Placement = xlMoveAndSize
      .PrintObject = True
    End With
SendKeys ("{ESC}")
  End If
End Sub
Gruß Dirk
---------------
100  - Wenn du nicht weißt, wo du hin willst, ist es egal, welchen Weg du einschlägst.

[-] Folgende(r) 1 Nutzer sagt Danke an DIZA für diesen Beitrag:
  • Primo Centurio
Antworten Top
#4
Danke euch zwei  19

Genau Dirk, habe mir schon gedacht, dass es so gehen müsste, habe es aber nicht ganz hingekriegt, hatte es falsch deklariert :S

Euch noch einen schönen Abend.

LG Primo
Antworten Top
#5
Code:
Sub M_snb()
  Sheet1.Shapes(1).Copy
  Sheet2.Paste Sheet2.Cells(4, 5)
  With Sheet2.Shapes(1)
    .Top = .TopLeftCell.Top + (.TopLeftCell.Height - .Height) / 2
    .Left = .TopLeftCell.Left + (.TopLeftCell.Width - .Width) / 2
    End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Moin!
Ich mag diese "Vermüllung" mit Shapes nicht!
Excel ist ja mit =BILD() auf dem richtigen Weg.
Wenn jetzt auch eine lokale Adresse akzeptiert würde, wären wir ja (für diesen nicht unüblichen Bildkatalog) auf dem richtigen Weg.

Two Cents,
Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Hallo,

wenn man die Bilder extern ablegen kann und ein Aufruf reicht, dann kann man das auch mit einem Hyperlink bzw. einer Hyperlinkformel machen.
Antworten Top
#8
@RPP

Das Bild (Shapes)  'Layer' scheint mir unabhänglich vom Zellen (Cells) 'Layer' zu sein.
Scheint mir auch logisch.

Auch ungefähr 2 obsolete cents (die wir gar nicht mehr benützen).
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
(01.04.2023, 15:35)snb schrieb: Auch ungefähr 2 obsolete cents (die wir gar nicht mehr benützen).

Da seid ihr uns weit voraus!
Ich habe gerade noch 7 einzelne Cents im Supermarkt mit meinen kleinen Größe 12 - Händen herausgesucht.
Aber ich habe gelesen, dass ihr endlich Pfand auf die Blikjes erheben wollt.
Ich habe vor etlichen Jahren mit Lachen im Gesicht die Blikje Cola nach dem Genuss von gefrituurde vis zerquetscht und in den Müll geworfen …
Smile
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
Glücklicherweise in die Müll und nicht in die 'Natur' (die es hier kaum mehr gibt).
Cola und 'gefrituurde vis': brrrrr 20
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


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