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

Schrift in einer Tabelle ersetzen

Forumthread: Schrift in einer Tabelle ersetzen

Schrift in einer Tabelle ersetzen
10.04.2008 04:38:42
Ueli
Hallo Excel-Spezialisten,
bevor ich meinen Wunsch äussere, soll hier einmal erwähnt werden,
dass Ihr alle Genial seid! Ich habe von diesem Forum schon viele Makro's gebrauchen können.
Ich habe schon das ganze Archiv durchgesucht und nix passendes gefunden!
Ich suche ein Makro, dass mir die aktuelle Tabelle durchsucht und die Schrift
Courier New, 10 durch die Schrift Arial, 11 ersetzt.
Sofern Fett, Kursiv etc. in Courier New gesetzt waren, sollen diese bleiben.
Das ganze Makro setzte ich nachher in meine ADD-In Datei.
Besten Dank für Eure Mühe.
Ueli

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Schrift in einer Tabelle ersetzen
10.04.2008 07:14:08
Wuxinese
Hi,
Du koenntest es so versuchen:

Dim zelle As Range
For Each zelle In Tabelle1.UsedRange
If zelle.Font.Name = "Courier New" And zelle.Font.Size = 10 Then
zelle.Font.Name = "Arial"
zelle.Font.Size = 11
End If
Next


Gruss
Rainer

Anzeige
AW: Schrift in einer Tabelle ersetzen
10.04.2008 07:15:16
Wolli
Hallo Ueli, um welche Zeit sitzt Du denn vor dem Computer?
Mein Vorschlag ist etwas ausführlicher:

Sub Courier_Aendern()
Dim c As Range
For Each c In ActiveSheet.UsedRange.Cells
Debug.Print c.Address
With c.Font
If .Name = "Courier New" And _
.Italic = False And _
.Bold = False And _
.Underline = xlUnderlineStyleNone And _
.Size = 10 Then
.Name = "Arial"
.Size = 11
End If
End With
Next c
End Sub


Ggf. kannst Du auch noch
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.ColorIndex = xlAutomatic
einbauen!
Gruß, Wolli

Anzeige
AW: Schrift in einer Tabelle ersetzen
10.04.2008 07:17:53
haw
Hallo,
hier eine Möglichkeit:

Sub SchriftErsetzen()
Dim z As Range
For Each z In ActiveSheet.UsedRange
If z.Font.Name = "Courier" And z.Font.Size = 10 Then
z.Font.Name = "Arial"
z.Font.Size = 11
End If
Next z
End Sub


Gruß
Heinz

Anzeige
man sollte ab und zu mal ...
10.04.2008 07:19:00
haw
Hallo,
... aktualisieren. ;-)
Gruß
Heinz

AW: Schrift in einer Tabelle ersetzen
10.04.2008 07:53:00
Matthias
Hallo
obwohl ich nun auch gerade aktualisiert habe, ich kann nicht so schnell tippen ;o)
hier mein ähnliches Beispiel (hier sollte der Bereich(Usedrange) aber nicht zu groß sein,
sonst wartest Du unter Umständen sehr lange.
Man sollte noch überlegen, ob leere Zellen tatsächlich auch so formatiert werden sollen.
Tabelle anpassen!
Code in ein Modul


Option Explicit
Sub Schrift()
Dim Zelle As Variant
Application.ScreenUpdating = False
For Each Zelle In Tabelle1.UsedRange
With Zelle.Font
If .Name = "Courier New" And .Size = 10 Then
.Name = "Arial"
.Size = 11
End If
End With
Next
Application.ScreenUpdating = True
End Sub


hier wenn Du nur nichtleere Zellen umformatieren willst:


Option Explicit
Sub Schrift()
Dim Zelle As Variant
Application.ScreenUpdating = False
For Each Zelle In Tabelle1.UsedRange
With Zelle.Font
If Not IsEmpty(Zelle) Then
If .Name = "Courier New" And .Size = 10 Then
.Name = "Arial"
.Size = 11
End If
End If
End With
Next
Application.ScreenUpdating = True
End Sub


Besser als UsedRange ist da evtl. auch ein vorher genau definierter Bereich.
Wichtig finde ich, das Application.ScreenUpdating mit einzusetzen
Um die anderen Formatierungen brauchst Du Dich nicht zu kümmern, da ändert Excel nichts.
Du mußt also nichts erst abfragen.
Es gibt aber sicher auch elegantere Lösungen. ;o)
Gruß Matthias

Anzeige
;

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