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

Zeilenhöhe auf Objekthöhe erstellen

Zeilenhöhe auf Objekthöhe erstellen
28.10.2013 16:51:26
Jörg
Hallo NG,
ich habe folgendes Problem:
ich hole mir mit dem nachfolgenden Code aus einem Verzeichnis Bilder zu verschiedenen Artikeln. Diese Bilder sind von der Höhe her machmal identisch, meistens allerdings nicht. Das Makro holt die Bilder und fügt sie als Objekt im Tabellenblatt ein. Ich möchte erreichen, dass Excel die Zeilenhöhe auf der Basis der Objekthöhe setzt und nicht auf der Basis der Zeilenhöhe.
Vielen Dank für die Hilfe.
Jörg

Sub Bilder()
Dim objShp As Object
On Error Resume Next
enda = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To enda
Range("A" & i).Select
Bildname = ActiveCell.Value
Range("B" & i).Activate
ActiveSheet.Pictures.Insert("V:\Bilder\" & Bildname & ".jpg").Select
Selection.ShapeRange.Width = 55
With Selection
.Top = ActiveCell.Top
.Left = ActiveCell.Left
End With
Next i
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
28.10.2013 17:44:53
Beverly
Hi Jörg,
Sub Bilder()
Dim objShp As Object
Dim Bildname As String
Dim i As Long
Dim enda As Long
enda = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To enda
Bildname = Cells(i, 1)
If Dir("V:\Bilder\" & Bildname & ".jpg")  "" Then
With ActiveSheet.Pictures.Insert("V:\Bilder\" & Bildname & ".jpg")
.Parent.Rows(i).EntireRow.RowHeight = .Height
.Top = Cells(i, 2).Top
.Left = Cells(i, 2).Left
End With
End If
Next i
End Sub


Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 08:17:47
Jörg
Hallo Karin,
vielen Dank für die schnelle Antwort. Ich habe heute getestet und folgendes festgestellt:
Ich muss zuerst die Bilder auf eine entsprechende Größe "herunterrechen", da die Originalbilder doch teilweise sehr groß sind. Dementsprechend gebe ich zuerst eine Zeilenhöhe vor. Danach werden die Bilder eingefügt. Danach soll die sich die Zeilenhöhe auf die Bildhöhe reuduzieren. Wenn ich Deine Anpassung verwende, bleiben die Bilder in der Originalgröße.
Hast Du noch eine andere Idee?
Gruß
Jörg
Sub Höhe_anpassen()
hoch = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To hoch
Rows("3:" & hoch).Select
Selection.RowHeight = 90.75
Range("A3").Select
Next i
End Sub

Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 08:25:29
Beverly
Hi Jörg,
sorry, das ist mir zu konfus: im ersten Beitrag möchtest du die Zeilenhöhe an die Bildhöhe anpassen und nun die Bildhöhe an die Zeilenhöhe. Laut deiner Aussage hat dein erster Code doch genau das letztere gemacht. Was willst du denn nun tatsächlich erreichen?
In meinem Code gibt es übrigens kein Select - das ist vollkommen überflüssig und beeinträchtigt nur die Performance.


AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 08:49:24
Jörg
Hallo Karin,
ich versuch mich nochmal eindeutig auszudrücken:
Ich habe pro Zeile ein Artikelbild importiert. Die Zeilenhöhe habe ich vorher relativ groß angesetzt. Jedes der Bilder passt in jedem Fall in die Zeile.
Ich möchte die Zeilenhöhe nach Durchlauf meines Makros so einstellen dass sich die Zeilenhöhe auf die Höhe des in der Zeile befindlichen Bildes reduziert.
Gruß
Jörg

Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 09:01:14
Beverly
Hi Jörg,
genau das macht mein Code doch - er passt die Zeilenhöhe an die Höhe des in die Zeile eingefügten Bildes an. Wozu du die Zeilenhöhe vorher noch ändern musst, entzieht sich meinem Verständnis.


AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 09:41:22
Jörg
Hallo Karin,
ich füge mal drei Bilder an:
das erste zeigt die Bildanordnung nach meinem Makrodurchlauf:
Userbild
Das Zweite nach Deinem:
Userbild
Das Dritte, so wie es ausehen soll.
Userbild
Gruß
Jörg

Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 10:06:35
Beverly
Hi Jörg,
also soll die Größe jedes Bildes nach dem Einfügen verändert werden? Woraus ergibt sich die Bildhöhe bzw. wie legst du sie für jedes einzelne Bild fest? Das konne ich bisher aus deinen Codes nicht entnehmen.


AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 10:22:12
Jörg
Hallo Karin,
die Bildgröße soll nicht verändert werden. Sie ist halt entsprechend der Bildformate festgelegt.
Sie ergibt sich aus der Bildbreite, die auf die Spaltenbreite angepasst wird in der das Bild eingefügt wird. Festgelegt wird diese Breite meineserachtens aus dem Befehl "Selection.ShapeRange.Width = 55"
Ich kann mich leider erst später wieder melden. Hab einen Termin ...
Gruß
Jörg

Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 11:01:56
Beverly
Hi Jörg,
also irgendwie widersprichst du dir selber: einerseits soll die Bildgröße nicht verändert werden, aber andererseits willst du sie nun an die Spaltenbreite anpassen. Also noch einmal im Klartext, so wie ich deine Beiträge insgesamt genommen verstanden habe:
1. das Bild wird eingefügt in Spalte B
2. die Bildbreite soll an die Breite der Spalte B angepasst werden -&gt daraus resultiert eine bestimmte Bildhöhe
3. die Zeilenhöhe soll an die neue Bildhöhe angepasst werden
Sub Bilder()
Dim objShp As Object
Dim Bildname As String
Dim i As Long
Dim enda As Long
enda = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To enda
Bildname = Cells(i, 1)
If Dir("V:\Bilder\" & Bildname & ".jpg")  "" Then
With ActiveSheet.Pictures.Insert("V:\Bilder\" & Bildname & ".jpg")
.Width = .Parent.Columns(2).Width
.Parent.Rows(i).EntireRow.RowHeight = .Height
.Top = Cells(i, 2).Top
.Left = Cells(i, 2).Left
End With
End If
Next i
End Sub
Oder steht die Bereite mit 55 fest? Dann musst du das im Code an der betreffenden Stelle anpassen.


Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 13:03:48
Jörg
Hallo Karin,
Ja, das Bild wird eingefügt in Spalte B
Ja, die Bildbreite soll an die Breite der Spalte B angepasst werden daraus resultiert eine bestimmte Bildhöhe
Ja, die Zeilenhöhe soll an die neue Bildhöhe angepasst werden
Das eigentliche Problem resultiert halt aus der im Originalverzeichnis liegenden unterschiedlichen Bildgrößen. Ich möchte in der Exceltabelle einen "Standard" für die Bildbreite erreichen und eine variable Zeilenhöhe.
Gruß
Jörg

AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 13:10:26
Beverly
Hi Jörg,
dein "eigentiches Problem" der unterschiedlichen Breite/Höhe der Originalbilder ist durchaus kein Problem, nur deine Beschreibung, was du tatsächlich rerreichen willst. Aber vielleicht solltest du den Code erst einmal testen...


Anzeige
AW: Zeilenhöhe auf Objekthöhe erstellen
29.10.2013 13:34:23
Jörg
Hallo Karin,
der Code funktioniert.
danke schön für Deine Hilfe und für Deine Geduld.
Viele Grüße
Jörg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige