Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
996to1000
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Viele Grafiken mit gleicher Größe einfügen

Viele Grafiken mit gleicher Größe einfügen
25.07.2008 11:43:08
Tom
Hallo,
ich möchte in ein Tabellenblatt von Zelle A1:z24 verschiedene Grafiken einfügen
- alle auf einmal
- alle gleiche Größe (3 x 3 cm) ** dies ist evtl. auch manuell im Vorfeld möglich, sollte dies zu kmpliziert sein ...
Ich habe im Archiv bisher nur das gefunden - scheint vom Ansatz her richtig zu sein, ist aber nicht genau das was ich brauche. Leider bin ich nur mit dem Rekorder bewandert ... :-(
https://www.herber.de/forum/archiv/348to352/t348331.htm#348398
Kann mir jemand helfen?
Danke vorab.
Gruß
TOM

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Viele Grafiken mit gleicher Größe einfügen
25.07.2008 14:17:53
ChristianM
Hallo Tom,
hier ein Ansatz ohne weitere Fehlerabfangung. Die Bilder werden auf die Größe 3x3cm gesetzt.
Gruß Christian

Option Explicit
Sub Bilder()
Dim vFiles, oPic As Object, sh As Shape
Dim i&, j&, k&, dWdth#
With Application
.ScreenUpdating = False
dWdth = .CentimetersToPoints(3)
vFiles = .GetOpenFilename("Grafikdateien, *.jpg; *.gif; *.bmp; *.png", , , , True)
End With
With Sheets("Tabelle1")
For Each sh In .Shapes
sh.Delete
Next
For i = 1 To UBound(vFiles)
Set oPic = .Pictures.Insert(vFiles(i))
With oPic
.Left = j * dWdth
.Top = k * dWdth
.Height = dWdth
.Width = dWdth
End With
j = j + 1
If j * dWdth > Columns("Z").Left Then k = k + 1: j = 0
Set oPic = Nothing
Next
End With
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Viele Grafiken mit gleicher Größe einfügen
25.07.2008 15:35:00
Tom
Hallo Christian,
genial! Kannst Du mir noch sagen, wo der Bereich A:Z festgelegt wird?
Danke vielmals
Gruß
TOM

AW: Viele Grafiken mit gleicher Größe einfügen
25.07.2008 17:24:16
ChristianM
Hallo,
mit Columns("Z") legst du die letzte Spalte fest. Spalte A resultiert aus j, denn j ist zu Beginn 0, bzw wird wieder zu 0 gesetzt.
Gruß
Christian

AW: Viele Grafiken mit gleicher Größe einfügen
25.07.2008 17:50:00
Tom
Hallo,
perfekt - letzte Frage:
Wie kann ich noch einen Abstand zwischen die Bilder einbauen (z.B. 1 cm).
Gruß
TOM

AW: Viele Grafiken mit gleicher Größe einfügen
25.07.2008 18:20:00
ChristianM
Hallo,
indem du den Abstand bei oPic.Left und oPic.Top berücksichtigst. Bsp

With oPic
.Left = j * dWdth * 4 / 3
.Top = k * dWdth * 4 / 3
.Height = dWdth
.Width = dWdth
End With
'...


Gruß
Christoph

Anzeige
Danke !!!!!! Jetzt ist alles ok! o.T.
25.07.2008 18:25:36
Tom

AW: Danke !!!!!! Jetzt ist alles ok! o.T.
25.07.2008 18:47:56
ChristianM
nicht ganz... das kommt davon, wenn man mal eben 'nen Kumpel (Christoph) unbeaufsichtigt an seinen Rechner lässt ;-).
prinzipiell hat er recht, ich würde es aber so machen, dann wird die letzte Spalte nicht überschritten.
j und k müssen als Double deklariert werden. (Dim j#, k# statt Dim j&, k&)

With oPic
.Left = j * dWdth
.Top = k * dWdth
.Height = dWdth
.Width = dWdth
End With
j = j + 4 / 3
If j * dWdth > .Columns("F").Left Then k = k + 4 / 3: j = 0
'...

Gruß
Christian

AW: Danke !!!!!! Jetzt ist alles ok! o.T.
25.07.2008 18:54:50
Tom
Ein Laie wie ich merkt so was nicht :-) :-) :-)
DANKE

Anzeige
AW: Danke !!!!!! Jetzt ist alles ok! o.T.
26.07.2008 11:46:45
Äähm...
Hi,
# ist das Typkennzeichen für Single, nicht Double!

Äähm... liegt falsch
26.07.2008 11:58:41
ChristianM
wer auch immer "Äähm..." ist...
er liegt falsch, denn # ist Double.

AW: Äähm... liegt falsch
26.07.2008 13:36:00
Tino
Hallo,
dass mit der Typkennzeichnung ist korrekt.
Double = #
Single = !
Aber Left, Top, Height und Width erwarten einen Wert vom Typ Single.
Syntax
object.Height [= Single]
object.Width [= Single]
object.Left [= Single]
Objekt.Top [= Single]

Gruß Tino

Einverstanden
26.07.2008 14:28:00
ChristianM
Hallo,
du hast recht.
Double habe ich verwendet, weil bei CentimetersToPoints Centimeter als Double-Wert verlangt ist.
Gruß Christian
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige