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

Zeilenbreite anpassen

Zeilenbreite anpassen
04.08.2005 07:57:47
Brit
Hallo Leute und Guten Morgen!
Ich habe den Auftrag, eine kleine Routine zum Einlesen von Signaturen zu schreiben! Das sind Liniensignaturen, die zur besseren Anschaulichkeit ein wenig in der Größe angepasst werden müssen! So weit so gut! Klappt auch alles!
Nun soll dieses Signatur, die länger als die jeweilige active Zelle ist, in der Länge angepasst werden! In der Höhe klappt das ja auch super! Nur die Länge macht mir Kopfzerbrechen!!!
Nun habe ich überprüft , ob die richtige Zelle aktiev ist, wie breit sie ist, wie breit das Bild ist ....
Ich habe versucht, ihm zu sagen, wenn die Bildbreite größer ist als die Zellebreite, dann mach die Zellenbreite so groß wie die Bildbreite!
Aber irgentwie arbeitet er wohl mit verschiedenen Maßstäben.
Mit der Messagebox "Hallo" wollte ich abfragen, ob er überhaupt die Bedingung erfüllt! Das tut er! Lange Rede kurzer Sinn! Wo könnte mein Fehler liegen?
Brit

Sub LinienEinfuegenN13()
Dim code, zelle
Range("A:A").Activate
On Error Resume Next
i = 0
For Each zelle In Range("A:A")
i = i + 1
code = LCase(zelle.Value & ".eps")
zelle.Offset(0, 4).Activate
ActiveSheet.Pictures.Insert (ThisWorkbook.Path & "\eps\" & code)
' Auswählen und Vergrößern der jeweiligen Linie zur besseren Erkennbarkeit
ActiveSheet.Shapes(i).Select
Selection.ShapeRange.ScaleWidth 2.8, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 2.8, msoFalse, msoScaleFromTopLeft
ShapeHeight = ActiveSheet.Pictures(i).Height
Shapewidth = ActiveSheet.Pictures(i).Width
MsgBox "ShapeHeight  " & ShapeHeight
MsgBox "ShapeWidth  " & Shapewidth
' Anpassen der jeweiligen Zelle an die aktuelle Shape-Größe (Linie)
MsgBox "CellH  " & ActiveCell.Height
MsgBox "CellW  " & ActiveCell.Width
MsgBox ActiveCell.Address
If ShapeHeight > 15 Then ActiveCell.Rows.RowHeight = ShapeHeight
If Shapewidth > ActiveCell.Width Then
MsgBox "Hallo"
MsgBox "CellW1  " & ActiveCell.Width
ActiveCell.Width = Shapewidth
MsgBox "CellW2  " & ActiveCell.Width
End If
If ActiveCell.Offset(1, -4) = "" Then Exit For
ActiveCell.Offset(1, -4).Activate
Next zelle
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenbreite anpassen
08.08.2005 10:10:47
Volker
Hallo Brit,
bevor ich mir den ganzen Code zu Gemüte zu führe, versuch ich mal einen Schuß ins Blaue:
Die Maßangaben von Grafiken erfolgen i.A. in mm, die der Zellenhöhe auch.
Aus unerfindlichen Gründen wird die Zellbreite aber in Pixel angegeben.
D.h., du mußt zwischen Pixel und mm umrechnen. Der Faktor beträgt ungefähr sieben.
Das mußt du mal ausprobieren, vielleicht ist dein Problem damit schon gelöst.
Gruß
Volker
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige