Registriert seit: 14.08.2017
Version(en): 10
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
Registriert seit: 21.08.2022
Version(en): 2016
31.03.2023, 17:50
(Dieser Beitrag wurde zuletzt bearbeitet: 31.03.2023, 17:51 von juvee.)
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:1 Nutzer sagt Danke an juvee für diesen Beitrag 28
• Primo Centurio
Registriert seit: 11.12.2022
Version(en): 365 / 2021
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
---------------
- 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:1 Nutzer sagt Danke an DIZA für diesen Beitrag 28
• Primo Centurio
Registriert seit: 14.08.2017
Version(en): 10
Danke euch zwei
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
Registriert seit: 29.09.2015
Version(en): 2030,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
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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)
Registriert seit: 11.04.2014
Version(en): keine
Hallo,
wenn man die Bilder extern ablegen kann und ein Aufruf reicht, dann kann man das auch mit einem Hyperlink bzw. einer Hyperlinkformel machen.
Registriert seit: 29.09.2015
Version(en): 2030,5
@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).
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
(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 …
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)
Registriert seit: 29.09.2015
Version(en): 2030,5
Glücklicherweise in die Müll und nicht in die 'Natur' (die es hier kaum mehr gibt).
Cola und 'gefrituurde vis': brrrrr