Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bild einfügen/Makro

Bild einfügen/Makro
17.07.2003 11:55:31
BernhardStock
Hallo zusammen!

Ich versuche mit der Funktion >Set pct = ActiveSheet.Pictures.Insert("Name.gif")<
ein Bild, das sich bereits in der Datei, auf einer anderen Tabelle, befindet zu kopieren.
Auf meinem rechner funktioniert das auch, meistens. Probiere ich es auf einem
anderen Rechner mit der gleichen Excel-Version bekomme ich den Fehler
"Die Insert-Eigenschaft des Objektes kann nicht zugeordnet werden".

Was kann ich ändern? Die Grafik muß irgendwo in der Arbeitsmappe hinterlegt sein!

Gruß,

Bernhard

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild einfügen/Makro
17.07.2003 12:06:51
Andreas Walter
Dieser Befehl von Dir ist mir vor Tage aufgefallen.
Hatte ich es damals nicht verstanden,
aber Du hattest keine Probleme damit - daher habe ich nichts gesagt.

Meines Wissens (bin nicht der grosser Expert mit Pictures usw.)
der Befehl
ActiveSheet.Pictures.Insert("Name.gif")
ganz allein (ohne pct=) fügt ein Bild ein.
Was machst Du mit der variable pct? brauchst Du diese noch
Post mal mehr code, bzw. was mit pcf passiert.


AW: Bild einfügen/Makro
17.07.2003 12:37:43
BernhardStock
Du hast recht, das Set pct kann man weglassen. Ich habe den Code irgendwo geklaut und angepasst.
Löst leider mein Problem nicht.
Das Problem vom 15.7.(?) habe ich gelöst, indem ich die Grafik "Ohne Hintergrund" gespeichert habe.
Nun habe ich diese Grafik über "Einfügen-Grafik aus Datei" in meine Arbeitsmappe geladen.
Im Zuge dic´verser Makros soll diese nun an eine variable Position kopiert werden.
Die einzige Methode die ich dazu gefunden habe ist über
ActiveSheet.Pictures.Insert("NAME").
Gibt es eine bessere Methode? Die Grafik muss aber aus der aktuellen Mappe kommen.
Bernhard


Anzeige
AW: Bild einfügen/Makro
17.07.2003 13:37:33
Andreas Walter
Irgendwie versteh ich nicht, was du willst

Mein Makro recorder zeichnet
ActiveSheet.Pictures.Insert( _
"bykart02_3700.gif" _
).Select
(sprich mit .select) auf. Dadurch wird ein Bild in einer Datei im gleichen Verzeichnis wie die Mappe eingefügt.

Wenn ich sage
ActiveSheet.Pictures(1).Select
wird das erst Bild selektiert.


Wenn ich sage
dim dragi as shape
For Each grafi In ActiveSheet.Shapes
grafi.Select
Next

kann ich jedes Bild in der Active sheet ansprechen.

Bitte nochmals von vorne


Anzeige
AW: Bild einfügen/Makro
17.07.2003 21:02:37
BernhardStock
Hallo Andreas, entschuldige die Sendepause...

mein problem ist wohl, das Excel es mit den "Namen" der Grafiken nicht all zu genau nimmt.
Auf meinem Rechner funktioniert alles, auf einem anderen mit gleicher Konfiguration nicht.

Wie kann ich sicherstellen dass Excel die Grafik findet (Grafik.gif) ?
Ich habe 2 Grafiken in der Tabelle, davon eine in der Kopfzeile, die zweite kann (fast) beliebig platziert werden, auch auf anderen Tabellen(Blättern). Warum zählt Excel die Grafiken hoch? Ich bin jetzt schon bei "Picture 115" (so lange doktere ich daran rum).
Alternativ könnte ich auch einen ganzen bereich (mit Grafik) kopieren/verschieben, muß dann aber den Hintergrund auf durchsichtig stellen, dort ergibt sich das gleiche Problem,
Excel auf anderen rechnern erkennt die Grafik nicht.

Zu konfus?

Bernhard


Anzeige
AW: Bild einfügen/Makro
17.07.2003 21:21:48
BernhardStock
Habe gerade nochmald die Recherche gequält. Scheint nicht so einfach zu sein mit eingefügten Pics und deren Namen. Irgendwie enden die Diskussionen alle im nichts..


Du hast recht - zu konfus
18.07.2003 10:08:44
Andreas Walter
Gibt es hier eine Verwirrung bzgl. Namen
Der Name der Datei hat mit dem Namen von dem Shape zu tun

kuck mal folgendes Makro an. Lass laufen und kuck ob etwas klarer wird



Dim grafi As Shape

' wie viel shapes gibt es jetzt
MsgBox ActiveSheet.Shapes.Count

' schleife durch shapes - meldung des Namens
For Each grafi In ActiveSheet.Shapes
grafi.Select
MsgBox grafi.Name
Next

' neues shape an jetziger Stelle - Dateiname anpassen
ActiveSheet.Pictures.Insert( _
"bykart02_3700.gif" _
).Select

' wie viel haben wir jetzt - Antwort eins mehr
MsgBox ActiveSheet.Shapes.Count

' nochmals schleifen und namen ausgeben
For Each grafi In ActiveSheet.Shapes
grafi.Select
MsgBox grafi.Name
Next

' LETZTES SHAPE SELEKTIEREN
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Select



Ich glaube, wenn das slles nicht hilft, Du solltest nochmals von vorne beschreiben, was du möchtest.


Anzeige
Antwort und von Vorne
21.07.2003 11:45:47
BernhardStock
Hallo,

Ich versuche Deinen Code, versuche ihn anzupassen, ich fliege an der Stelle
ActiveSheet.Pictures.Insert("bykart02_3700.gif").Select
raus.Fehlermeldung: "Die Inserteigenschaft des Picture-Objektes kann nicht zugeordnet werden." Ich habe die Namen meiner Objekte anstelle des Namens"bykart.." eingesetzt! Auch den von Excel ermittelten Namen "Picture 99" mit und ohne ".GIF"!

Ich weiß dank Deines Codes dass 2 Objekte da sind (wie bekannt). Das Zweite hat den Namen "Picture 99" (mit oder ohne *.gif?). Eingefügt hatte ich es als "Unterschrift.gif" mit der Option "Transparenter Hintergrund", das ist wichtig.

Was will ich?

- Die Grafik (Objekt?) mit dem Namen Unterschrift.gif (so wurde sie eingefügt, Excel Name Picture 99) soll an einer Variablen Stelle, die zuvor durch folgenden Code aktiviert wurde eingefügt werden:
ActiveCell.Offset(-9, 0).Range("A1:A11").Select

Da es sich um eine Unterschrift handelt, die über einen text gelegt wird, müsste der Hintergrund Transparent sein.

Kannst Du folgen?? Ich hoffe.

Gruß,

Bernhard


Anzeige
Gelöst
21.07.2003 13:03:22
BernhardStock
Hallo,

obs daran liegt dass ich ab heute Excel 2000 hab??

Ich hab es dank deiner Tipps hinbekommen, vielleicht nicht ganz sauber, aber es klappt:

ActiveSheet.Shapes("Picture 99").Select
Selection.Copy
ActiveCell.Offset(6, 1).Range("A1").Activate <--- die Position wo es hinsoll
ActiveSheet.Paste

Funktioniert sogar an anderen rechnern, ich hoffe nun dass es auch unter Excel98 & 97 läuft.

Danke für alle Tipps!!!

CU

Bernhard


AW: Du hast recht - zu konfus
18.07.2003 20:53:27
BernhardStock
Danke für Deine Geduld und Hilfe.
probiere das Makro so schnell wie möglich aus.
Komme aber leider erst Montag zum Antworten!
Schönes Wochenende!!!!!


Anzeige
Test Sorry bitte nicht lesen - kein Inhalt
17.07.2003 12:17:13
Andreas Walter
Test Sorry bitte nicht lesen - kein Inhalt


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige