Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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
Excel Spaltenbreite Einheit
05.09.2023 15:54:54
Bernd12
Huhu,

ich bin beim Rumspielen mit einem Makro, um Exceltabellen zu einer Pdf-Datei zu konvertieren, ein wenig verwirrt geworden.
Wenn ich unter Ansicht- Normal die Spaltenbreite angebe, dann ist voreingestellt "101" (in nehme an pts). Wenn ich über Ansicht- Seitenlayout das Gleiche mache, dann ist die Spalte 17,6 cm groß. Laut "?application.CentimetersToPoints(17.3)" wären das aber 490pts. Kann mir jemand erklären, wie das zusammenhängt?
Bei dem Druckbereich handelt es sich eigentlich nur um "A1:A60". Dieser Bereich hat einen Rahmen außen und verschiedene Inhalte mittig und soll quasi als Deckblatt dienen. Dafür soll die Spaltebreite dann so breit werden, dass sie die ganze Seite minus Seitenränder ausfüllt.
ws.PageSetup.FitToPagesWidth = 1 scheint nur zu helfen, wenn der Bereich größer als eine Seite ist... :/

Danke für eure Ideen schonmal.

LG

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Spaltenbreite Einheit
05.09.2023 16:14:06
daniel
Hi
Excel hat meines wissen nach zwei Spaltenbreiten:
einmal die grafische Spaltenbreite in Points (oder sowas), das .Width, diese Spaltenbreite kann man aber nur auslesen, aber nicht einstellen.
wenn man die Spaltenbreite einstellen will, dann geht das nur über die .ColumnWidth.
Die .ColumnWidth hat eine etwas seltsame Einheit, die sich daraus erklären lässt, das Excel eine Tabellenkalkulation und somit für die Darstellung von Zahlenkolonnen entwickelt wurde, hier ist die Einheit: Anzahl der Ziffern, die sich in Standardschrift in der Zelle vollständig darstellen lassen.
dieser Wert lässt sich auch nicht stufenlos, sondern nur in einer bestimmten Rasterung einstellen (Feinheit hängt von der Excelversion ab), dh man kann das eben nicht exakt sondern nur in Stufen einstellen. Hinzu kommt, dass es immer noch einen kleinen Zuschlag gibt für Rand und Randabstand der Schrift.
Gruß Daniel
Anzeige
17,6 / 17,3 = 1,01 (ca.) owT
05.09.2023 16:16:35
Yal
Excel Spaltenbreite
05.09.2023 16:22:32
Bernd12
Hi,

danke für eure Infos. Kann man diese seltsame Einheit in Point umrechnen?
Analog zu: "ws.column(1).columnwidth = application.centimeterToPoints(17.4)"? Dieser Befehl scheint nämlich nicht zu funktionieren, vmtl. weil die Spalte dann größer als eine Seite ist.

Was bedeutet diese Formel, Yal?

Grüße Bernd
AW: Excel Spaltenbreite
05.09.2023 16:40:38
daniel
Das korrekt Umrechnen wird aufwendig, weil du ja Schriftart und Schriftgröße der der Standardschriftart so wie die Werte für Rand und -abstand berücksichtigen musst.
Die können ja auch von Anwender zu Anwender unterschiedlich sein und du müsstest die Tabellen für die Werte in den einzelnen Schriftarten kennen..

Wenn ich eine möglichst exakte Spaltenbreite benötige, dann habe ich das bisher so gelöst, dass ich in einer Schleife die ColumnWidth verändere, bis der gewünschte Pixelwert (Widht) erreicht ist:
hier mal mit zwei Schleifen Grob und Fein für eine möglichst exakte Annäherung
For x = 1 to 100

Column(1).ColumnWidth = x
if Column(1).Width > Dein Zielwert Then Exit for
Next

for y = x to x - 1 Step -0.01
Column(1).ColumnWidth = y
if Column(1).Width = Dein Zielwert Then Exit for
next


Gruß Daniel
Anzeige
AW: Excel Spaltenbreite
06.09.2023 10:26:15
Bernd12
Hi Daniel,

danke für den Input. Das ist ja wirklich ein völlig verkorkstes System...

Mein Gedanke war: Breite A4 Seite = 21cm. 2x Seitenrand links und rechts sind zsm. 3,6cm. --> meine Zeile muss 17,4cm breit sein.
Mit ein wenig rumgespiele ist mir jetzt aufgefallen, dass ich als Zielwert für die Spaltenbreite 21cm eingeben muss. Der Seitenrand scheint irgendwie erst beim Druck eine Rolle zu spielen und der gesamte Inhalt der Seite bezieht sich auf die Seitenbreite des eingestellten Blattes.

Mit der Info und deinem Code klappt es jetzt. Vielen Dank :)

65 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige