Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ermitteln einer Satzlänge (Pixel)

Ermitteln einer Satzlänge (Pixel)
04.08.2006 14:47:24
atikar
Hi Leute,
ich weis nicht wie ich es Formulieren soll, ich suche eine Möglichkeit
die Länge eines Satzes zu ermitteln (nicht in Zeichen, da Zeichen unterschiedlich lang sind).
Beispiel Spaltenbreite 7,29 passen 6 Buchstaben 'A' aber ca. 18 Ausrufezeichen.
Hat jemand eine Idee.
ciao
Atikar
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ermitteln einer Satzlänge (Pixel)
04.08.2006 14:51:21
Jens
Hi,
da das von der Schriftart, Größe und Schnitt abhängt, wird das wohl eine ziemliche Bastelei oder ist es immer gleich?
mfg Jens
AW: Ermitteln einer Satzlänge (Pixel)
04.08.2006 14:55:06
atikar
die schriftart wäre in diesem fall schon fix
AW: Ermitteln einer Satzlänge (Pixel)
04.08.2006 14:56:42
atikar
excel muss das ja irgendwie ermitteln, da es ja z.B. bei doppelklick zwischen die spaltenbuchstaben genau darauf die spaltenbreite einstellt.
Anzeige
AW: Ermitteln einer Satzlänge (Pixel)
04.08.2006 15:56:10
K.Rola
Hallo,
die Breite einer Spalte in Punkt kannst du z.B. mit Msgbox Columns(1).Width
ermitteln. Das entspricht bei einer von Excel angezeigten Spaltenbreite von
20 108,75 Punkt und 453 Pixel. Der Faktor von Punkt zu Pixel ist also etwa 4,165,
ändert sich aber, je nach Spaltenbreite geringfügig, je stärker, desto kleiner die Spaltenbreite.
Gruß K.Rola
Anzeige
AW: Ermitteln einer Satzlänge (Pixel)
04.08.2006 15:57:21
IngGi
Hallo atikar,
warum machst du dir nicht einfach diese Excel-Funktion zunutze? Kopier den Satz in eine leere Zelle, stell die Spalte auf automatische Spaltenbreite und ermittle dann die von Excel eingestellte Spaltenbreite. Was du für deine Zwecke dann noch für die Rahmenbreite und die inneren Ränder der Spalte abrechnen musst, bleibt ja immer gleich und läßt sich bestimmt durch einmaliges Ausprobieren ermitteln. Das Ganze könnte dann in VBA ungefähr so aussehen:

Sub Satzbreite()
Dim lngBreite As Long
With ThisWorkbook
Range("A1").Copy
.Worksheets.Add After:=.Sheets(.Sheets.Count)
Range("A1").PasteSpecial Paste:=xlPasteAll
Range("A1").EntireColumn.AutoFit
lngBreite = ActiveCell.Width
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End With
End Sub
Gruß Ingolf
Anzeige
AW: Ermitteln einer Satzlänge (Pixel)
04.08.2006 16:13:15
K.Rola
Hallo,
er wollte Pixel, Width liefert Punkt, oder wollte er Punkt und wußte es nur nicht?
Gruß K.Rola
AW: Ermitteln einer Satzlänge (Pixel)
06.08.2006 13:17:48
Daniel
Hallo
bietet Excel dafür nicht die:
PointsToScreenPixelsX
PointsToScreenPixelsY
Methoden an?
Ich kenne mich damit zwar auch nicht aus, habs aber gerade in Hilfe gefunden, vielleicht läßt sich damit ja was anfangen.
Gruß, Daniel
Anzeige
AW: Ermitteln einer Satzlänge (Pixel)
06.08.2006 17:07:22
K.Rola
Hallo,
hast schon Recht, nur PointsToScreenPixelsX und PointsToScreenPixelsY gab es
in Excel 97 noch nicht.
Ich denke aber, er meinte ohnehin Points und nicht Pixel.
Gruß K.Rola
Anzeige
Anzeige

Infobox / Tutorial

Satzlänge in Pixel ermitteln


Schritt-für-Schritt-Anleitung

Um die Länge eines Satzes in Pixel zu ermitteln, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.
  2. Gib den gewünschten Text in eine leere Zelle ein (z.B. Zelle A1).
  3. Setze die Spaltenbreite auf automatische Breite:
    • Klicke mit der rechten Maustaste auf den Spaltenkopf und wähle "Spaltenbreite automatisch anpassen".
  4. Ermittle die Spaltenbreite in Punkten mit folgendem VBA-Skript:
    Sub Satzbreite()
       Dim lngBreite As Long
       With ThisWorkbook
           Range("A1").Copy
           .Worksheets.Add After:=.Sheets(.Sheets.Count)
           Range("A1").PasteSpecial Paste:=xlPasteAll
           Range("A1").EntireColumn.AutoFit
           lngBreite = ActiveCell.Width
           Application.DisplayAlerts = False
           ActiveSheet.Delete
           Application.DisplayAlerts = True
       End With
    End Sub
  5. Konvertiere die Punkte in Pixel: Nutze den Faktor 4,165, um die Breite in Pixel zu erhalten.

Häufige Fehler und Lösungen

  • Fehler: Die Spaltenbreite wird nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass die Schriftart und -größe konstant sind. Die Schriftart beeinflusst die Länge eines Satzes.
  • Fehler: VBA gibt einen Fehler aus.

    • Lösung: Überprüfe, ob die Makros in Excel aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" und aktiviere die Makros.

Alternative Methoden

Es gibt mehrere Möglichkeiten, die Satzlänge in Pixel zu ermitteln:

  • Excel-Funktion nutzen: Du kannst den Satz in eine leere Zelle kopieren und die Spalte automatisch anpassen. Excel berechnet dann die optimale Breite.

  • VBA-Methode: Neben der gezeigten VBA-Methode kannst du auch die Funktionen PointsToScreenPixelsX und PointsToScreenPixelsY verwenden, um die Breite in Pixel zu konvertieren.


Praktische Beispiele

Angenommen, du hast den Text "Hallo!" in Zelle A1:

  1. Schritt: Spalte A anpassen.
  2. Ergebnis: Die Breite wird in Punkten angezeigt. Angenommen, sie beträgt 20 Punkte.
  3. Umrechnung:
    Pixel = PointsToScreenPixelsX(20)

    Wenn du das Skript ausführst, erhältst du die Breite in Pixel.


Tipps für Profis

  • Verschiedene Schriftarten testen: Wenn du unterschiedliche Schriftarten verwendest, teste die Breiten mehrmals, da sie variieren können.

  • Makros optimieren: Du kannst das VBA-Skript erweitern, um mehrere Zellen gleichzeitig auszuwerten und die Ergebnisse in einer neuen Tabelle zusammenzufassen.


FAQ: Häufige Fragen

1. Wie kann ich die Breite in cm umrechnen? Um die Breite von Pixel in cm umzurechnen, benutze die Formel: cm = pixel / 37,795.

2. Was ist der Unterschied zwischen Punkten und Pixeln? Punkte sind eine Maßeinheit, die in Druckerzeugnissen verwendet wird, während Pixel die Maßeinheit für digitale Anzeigen sind. Der Umrechnungsfaktor variiert je nach Bildschirmauflösung.

3. Gibt es eine Möglichkeit, die Breite automatisch zu ermitteln? Ja, du kannst die automatische Spaltenbreite in Excel nutzen, um die Breite für jeden Text zu bestimmen, bevor du die genauen Pixel wählst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige