Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

Selection.ShapeRange.Increment in Excel 2003

Selection.ShapeRange.Increment in Excel 2003
20.03.2014 13:05:32
min
Hallo zusammen,
ich habe eine klasse Arbeitsmappe, zumindest für Excel 2007. darin enthalten ist das einfügen von Bildern in einer bestimmten Spalte in einer bestimmten Zelle. Die Bildposition innerhalb der Zelle ist über Selection.ShapeRange eingegeben:
Bild.Copy
wks.Paste Range(iAdd)
wks.Rows(rngZelle.Row).RowHeight = 36
Selection.ShapeRange.IncrementLeft 2.25
Selection.ShapeRange.IncrementTop 2.25
nun stoppt das leider immer an der ersten Zeile Selection.ShapeRange, wenn man das in Excel 2003 öffnet und laufen lässt. gibt es da eine Alternative, die in 2003 funktioniert, oder woran liegt das?
Herzlichen Dank im Voraus!!
min

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Selection.ShapeRange.Increment in Excel 2003
20.03.2014 14:46:43
fcs
Hallo min,
robiere mal folgendes.
Konnte ich jetzt nicht unter 2003 testen.
Sollte funktionieren, wenn du in dem Tabellenblatt keine Datengültigkeitsprüfungen mit DroDown-Auswahl hast.
Gruß
Franz
  Dim objShape As Shape, intCount As Integer
With wks
Bild.Copy
.Paste .Range(iAdd)
.Rows(rngZelle.Row).RowHeight = 36
'die nachfolgende For-Next-Schleife ist erforderlich, damit in Blatt _
mit Datengültigkeitsprüfungen mit Drop Down-Auswahl ggf. das eingefügte _
Shape-Objekt korrekt ermittelt wird.vorhanden sind
For intCount = .Shapes.Count To 1 Step -1
Set objShape = .Shapes(intCount)
If objShape.Type  msoFormControl And LCase(Left(objShape.Name, 9))  "drop down" Then
Exit For
End If
Next
End With
With objShape
.IncrementLeft 2.25
.IncrementTop 2.25
End With
'ohne Datengüligkeitsprüfung mit Drop-Dwn-Auswahl vereinfacht sich das Ganze zu
Dim objShape As Shape, intCount As Integer
With wks
Bild.Copy
.Paste .Range(iAdd)
.Rows(rngZelle.Row).RowHeight = 36
Set objShape = .Shapes(.Shapes.Count)
End With
With objShape
.IncrementLeft 2.25
.IncrementTop 2.25
End With

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige