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

Bildbreite und -höhe fehlerhaft

Bildbreite und -höhe fehlerhaft
03.09.2005 12:50:44
Norman
Hallo alle,
ich lade ein Bild und will die Größe der Zelle dann auf die Bildbreite und -höhe anpassen. Die Zelle wird aber dadurch viel breiter als das Bild. Warum? Interessant ist auch, dass ich das Bild ein mal als BMP und ein mal als JPG lade, beide Bilder haben die selbe Größe, liefern nach dem Laden aber in VBA unterschiedliche Größen !?!?!?
Codeauszug:

Sub test()
Application.ScreenUpdating = False
Dim newpic As Object
Set newpic = ws.Pictures.Insert(ThisWorkbook.path & "\Bild.bmp")
newpic.Top = ws.Cells(1, 1).Top + 1
newpic.Left = ws.Cells(1, 1).Left + 1
If newpic.Width > ws.Cells(1, 1).ColumnWidth Then
ws.Cells(1, 1).ColumnWidth = newpic.Width
End If
If newpic.Height > ws.Cells(1, 1).RowHeight Then
ws.Cells(1, 1).RowHeight = newpic.Height
End If
newpic.Placement = xlMoveAndSize
Application.ScreenUpdating = True
End Sub

Das Piccy findet ihr unter: www.aeotek.de/Bild.bmp
(Ist nur ein Dummy-Pic)
Vielen Dank für Eure Hilfe
Norman

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildbreite und -höhe fehlerhaft
03.09.2005 13:42:10
Nepumuk
Hallo Norman,
du vergleichst Äpfel mit Birnen. Die Einheit ColumnWidth gibt die Breite der Null bei Schriftgröße 10 von Courier wieder. Die Einheit deines Bildes sind aber Points. Du kannst die Spaltenbreite aber in Points nicht angeben, sondern nur abfragen. Also musst du dir eine Schleife bauen, die dir die ColumnWith - Eigenschaft so lange anpasst, bis die Width - Eigenschaft der Spalte mit der Width - Eigenschaft des Bildes überein stimmt.
Beispiel:
ws.Columns(1).ColumnWidth = 0
Do Until newpic.Width <= ws.Columns(1).Width
    ws.Columns(1).ColumnWidth = ws.Columns(1).ColumnWidth + 0.1
Loop

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
Cool, das wars :)
03.09.2005 13:49:32
Norman
Besten Dank Nepumuk, wie immer ins schwarze getroffen!
Gruß
Norman

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige