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

Formatierte Zellen nicht ändern

Formatierte Zellen nicht ändern
22.02.2007 14:23:00
Mueller
Hallo!
Habe folgendes Makro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
With UsedRange
.Font.Size = 8
.Font.ColorIndex = xlAutomatic
End With
With Target
.Font.Size = 18
.Font.ColorIndex = 5
End With
Columns.AutoFit
Application.ScreenUpdating = True
End Sub

Funktioniert auch soweit ganz gut bis auf eine Kleinigkeit.
Wenn im Excelfile bereits zeilen Formatiert sind z.B. mit der Schriftfarbe
rot, dann wird das einfach auf Schriftfarbe Schwarz zurückgesetzt.
Ich will aber nur die vergrösserung von dem markiertem Bereich
haben und alle Formate die bereits in dem Excelfile vorhanden sind beibehalten.
Wie kann ich das hinkriegen.
Ist es ausserdem möglich dieses Makro so zu speichern das es für
alle Exceldateien die ich aufmache Automatisch gültig ist, oder
das man es über ein Shortcut einfach ein oder Ausschalten kann.
Was die noch bessere Lösung währe.
Vielen dank schon im voraus für jede Hilfe.
gruss
kiron

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierte Zellen nicht ändern
22.02.2007 14:50:00
Rudi
Hallo,
mal als Ansatz:
Option Explicit
Dim oldSize() As Integer, oldColor() As Integer, oldRange As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Application.ScreenUpdating = False
If Not oldRange Is Nothing Then
For i = 1 To oldRange.Cells.Count
With oldRange.Cells(i).Font
.Size = oldSize(i)
.ColorIndex = oldColor(i)
End With
Next i
End If
Set oldRange = Target
ReDim oldSize(1 To oldRange.Cells.Count)
ReDim oldColor(1 To oldRange.Cells.Count)
For i = 1 To oldRange.Cells.Count
With oldRange.Cells(i).Font
oldSize(i) = .Size
oldColor(i) = .ColorIndex
End With
Next
With Target
.Font.Size = 18
.Font.ColorIndex = 5
End With
Columns.AutoFit
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Formatierte Zellen nicht ändern
22.02.2007 19:32:22
Mueller
Hallo!
Danke für deine Hilfe.
Macht genau das was ich wollte.
Allerdings verstehe ich den Code noch nicht ganz.
Muss mich erst noch ein wenig damit befassen.
Ich begreife einfach nicht wie man auf solche Lösungen kommt,
wielange muss man da Programmieren um sowas einfach aus dem
Ärmel zu schütteln. Finde ich grosse Klasse.
Nochmals vielen dank
gruss
kiron

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige