Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schriftart für einen Bereich festlegen - per VBA

Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:17:13
Viktor
Hallo!
Ich möchte gerne wissen, ob es per VBA möglich ist, einen Bereich (z.B alle Zeilen ab Zeile 10) bei einem Button-Klick mit courier zu formatieren (Schriftgrösse 9).
Wie sieht dazu der VBA code aus?
Ich kopiere nämlich ständig Daten aus dem Browser ins Excel Sheet - und dann ist die Formatierung wieder dahin.
Danke!
LG,
Viktor
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:30:40
serge
Hi Viktor
mit folgenedem gehts:

Sub schriftart()
Rows("10:300").Select
With Selection.Font
.Name = "Courier" '=Schriftart
.Size = 9 '=Schrifgrösse
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub

Gruss Serge
Anzeige
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:32:42
Werner
Hallo Viktor
Diese beiden Zeilen in den Code deines Buttons:
Range("A11:IV65536").Font.Name = "Courier"
Range("A11:IV65536").Font.Size = 9
Gruss Werner
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:36:34
Viktor
Hi!
Vielen Dank für die schnelle Hilfe!
Jetzt habe ich aber die Qual der Wahl... Welche Lösung ist "besser" im Sinne von stabiler, resoucenschonender... oder was immer?! Könnte jemand das bewerten, oder sind die Vorschläge beide equivalent?
Danke Werner und serge!!!
Viktor
Anzeige
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:41:29
Gerd
Hi,
so

Sub Schrift()
With [A11:IV65536].Font
.Name = "Courier"
.Size = 9
End With
End Sub

mfg Gerd
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:41:39
Werner
Hallo Viktor
Nur das eine. Verzichte wenn möglich auf SELECT.
Gruss Werner
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 16:54:10
Viktor
Hallo!
Danke!!! Es funktioniert alles wunderbar - ich habe mich schließlich für die Methode von Werner entschlossen. Mich würde allerdings schon noch interessieren, warum ich auf "select" verzichten, und stattdessem mit "range" arbeiten sollte.
Viktor
Anzeige
AW: Schriftart für einen Bereich festlegen - per VBA
02.03.2006 17:08:26
Werner
Hallo Viktor
Wenn du mal eine grössere Schleife programmierst und jedesmal selectierst, wirst du zwischendurch in Kino gehen können. Da das selectieren nur unnötig Zeit, sowie auch Srcipt verbraucht.
Reicht dir das?
Gruss Werner
Danke für die Ausführung
02.03.2006 17:45:58
Viktor
Hallo Werner!
Ja, danke, das reicht mir; so was hatte ich mir eig. schon gedacht; meine VBA Kenntnisse sind sehr beschränkt, musst du wissen.
DANKE !!!
Viktor
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Schriftart für einen Bereich festlegen - per VBA


Schritt-für-Schritt-Anleitung

Um die Schriftart in Excel per VBA zu ändern, kannst du den folgenden Code verwenden. Dieser Code setzt die Schriftart für einen bestimmten Bereich (z.B. alle Zeilen ab Zeile 10) auf "Courier" und die Schriftgröße auf 9.

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub SchriftartÄndern()
    With [A11:IV65536].Font
        .Name = "Courier" ' Schriftart
        .Size = 9 ' Schriftgröße
    End With
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Füge einen Button hinzu (über die Entwicklertools), und verlinke ihn mit dem Makro SchriftartÄndern.
  3. Klicke auf den Button, um die Schriftart und die Schriftgröße zu ändern.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objekt definiert."

    • Lösung: Stelle sicher, dass der Bereich korrekt definiert ist. Verwende [A11:IV65536] nur in Arbeitsblättern, die genügend Zeilen und Spalten haben.
  • Fehler: Schriftart bleibt unverändert.

    • Lösung: Vergewissere dich, dass das Makro tatsächlich ausgeführt wird. Prüfe, ob der Button korrekt mit dem Makro verknüpft ist.

Alternative Methoden

Wenn du die Schriftart auch ohne VBA ändern möchtest, kannst du dies direkt in Excel tun:

  1. Wähle den gewünschten Bereich aus.
  2. Klicke mit der rechten Maustaste und wähle Zellen formatieren.
  3. Wähle die Registerkarte Schriftart und stelle die gewünschte Schriftart und Schriftgröße ein.

Für größere Datenmengen ist die Verwendung von VBA jedoch ressourcenschonender.


Praktische Beispiele

Hier sind einige Beispiele, wie du die Schriftart in verschiedenen Bereichen ändern kannst:

  1. Um die Schriftart in einem bestimmten Bereich zu ändern:
Sub SchriftartÄndernBereich()
    Range("A10:B20").Font.Name = "Courier"
    Range("A10:B20").Font.Size = 9
End Sub
  1. Um die Schriftart für das gesamte Arbeitsblatt zu ändern:
Sub SchriftartGesamtÄndern()
    Cells.Font.Name = "Courier"
    Cells.Font.Size = 9
End Sub

Tipps für Profis

  • Vermeide die Verwendung von .Select: Dies verbessert die Ausführungsgeschwindigkeit deines Codes erheblich. Arbeite direkt mit den Objekten, wie in den oben genannten Beispielen gezeigt.
  • Nutze Variablen: Um den Code noch flexibler zu gestalten, kannst du Variablen verwenden, um Schriftart und -größe zu speichern und diese dann im Code anzuwenden.

FAQ: Häufige Fragen

1. Warum sollte ich .Select vermeiden? Das Verwenden von .Select kann den Code verlangsamen, besonders bei großen Datenmengen. Es ist effizienter, direkt mit den Objekten zu arbeiten.

2. Welche Schriftarten kann ich verwenden? Du kannst nahezu jede Schriftart verwenden, die auf deinem System installiert ist. Die "Courier" Schriftart ist eine gängige Wahl für Programmieraufgaben.

3. Wie ändere ich die Schriftgröße in VBA? Um die Schriftgröße zu ändern, verwendest du die Eigenschaft .Size, wie im Beispiel gezeigt: Range("A1").Font.Size = 12.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige