Anzeige
Archiv - Navigation
1524to1528
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
Bildnamen auslesen
16.11.2016 22:29:21
Oisse
Hallo Zusammen
und Danke schon mal im voraus.
Ich habe ein Spalte I immer wieder mal Bilder eingefügt.
Nun möchte ich gerne den Namen dieser Bilder ermitteln, damit ich sie eventuell drehen kann.
Dazu will ich die Zeile, in der sich das Bild befindet gerne mittels Inputbox angeben können.
Bisher habe ich Folgendes:
Sub Linksherum_Klick()
Dim wks_Re As Worksheet
Dim objShp As Shape         
Dim i As Long
Set wks_Re = ThisWorkbook.Worksheets("Newsletter")
Set i = InputBox("Welche Zeile?", "Zeile")
Bild = wks_Re.Cells(i, 9).Name
Set objShp = Sheets("Newsletter").Shapes(Bild)
 objShp.Rotation = objShp.Rotation - 90 'Set objShp = Nothing
End Sub

Kann jemand bitte helfen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur ein Bsp
16.11.2016 23:33:00
Fennek
Hallo,
vothin habe ich für eine andere Frage diesen code gepostet:

Sub sh_name()
Dim Sh As Shape
Dim Pi(2) As String
For Each Sh In ActiveSheet.Shapes
If InStr(1, Sh.Name, "Pict") > 0 Then
Pi(i) = Sh.Name
i = i + 1
End If
Next Sh
ActiveSheet.Shapes.Range(Pi).Select
Selection.Copy
Sheets("Tabelle2").Paste
End Sub
So ganz passt es nicht auf deine Frage, aber immerhin ein Anfang.
mfg
AW: nur ein Bsp
17.11.2016 08:05:24
Oisse
Hallo Fennek und Danke für die Antwort.
Ich habe jetzt den Code so weit, dass ich das Bild drehen kann.
Allerdings habe ich noch das Problem, dass es sich nach der rechten oberen Ecke ausrichten soll.
Wie kriege ich das hin. Denn einmal ist es Querformat und einmal Hochformat.
Bisher sieht mein Code so aus:
Sub Linksherum_Klick()
Dim wks_Re As Worksheet
Dim objShp As Shape         'source-Shape-Objekt
Dim i As Long
Dim Bild As String
Set wks_Re = ThisWorkbook.Worksheets("Newsletter")
i = InputBox("Welche Zeile?", "Zeile")
For Each objShp In ActiveSheet.Shapes
If objShp.TopLeftCell.Row = i Then
objShp.Rotation = objShp.Rotation - 90
objShp.Left = Columns(9).Left
objShp.Left = Application.CentimetersToPoints(14.5)
objShp.Top = Rows(i).Top: Exit For
End If
Next objShp
End Sub

Allerdings bezieht sich das CentimeterToPoints ja auf den linken Bilschirmrand.
Ich hätte es ja gerne in Abhängigkeit vom Zellenrand, bzw eben am rechten oberen Eck und zwar egal ob Quer- oder Hochformat.
Irgendeine Idee?
Gruß Oisse
Anzeige
AW: Für Bilder drehen...
17.11.2016 09:57:42
Oisse
Servus Case und Danke für die Antwort.
Das mit dem Drehen klappt schon. Nur das Ausrichten an der oberen rechten Ecke der Zelle noch nicht.
Gruß Oisse
AW: Für Bilder drehen...
20.11.2016 08:40:06
Peter
Hallo Oisse,
ich habe das Makro von Case ergänzt. Das gedrehte Bild wird damit in die linke obere Ecke (nach A1) versetzt. Du kannst auch eine beliebige andere Zelle für das Einfügen im Code angeben.
https://www.herber.de/bbs/user/109570.xlsm
M.f.G. Peter Kloßek
Anzeige
AW: Für Bilder drehen...
21.11.2016 18:06:21
Oisse
Hallo Peter,
danke für Deine Ergänzung.
MfG
Oisse

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige