Herbers Excel-Forum - das Archiv

Makro im "Hintergrund" abarbeiten

Bild

Betrifft: Makro im "Hintergrund" abarbeiten
von: Patrick K.

Geschrieben am: 28.03.2005 14:17:21
Hallo alle zusammen.
Ich habe ein eher kleines Problem.
Und zwar hab ich eine Exceltabelle in der einige hundert Einträge stehen.
Ich sortiere die Daten mittels selbst angelegter Buttons. Nun zum eigentlichen problem: nebst der Sortierung lasse ich im Anschluß daran den Ersten Buchstaben im Feld fett erscheinen. Allerdings nervt bzw. stört mich das Excel diesen Formatierungvorgang "sichtbar" durchführt also die Tabelle einmal bis zum Ende durchrasselt. Ich bin der Meinung das er dies auch im Hintergrund durchführen kann und komme aber nicht drauf wie :-(((
Hier mal der Auszug der Funktion:
For x = 2 To 400
Range("A" & x).Select
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Size = 11
.Bold = True
.ColorIndex = 0
End With
With ActiveCell.Characters(Start:=2, Length:=50).Font
.Size = 10 'schriftgröße 10
.Bold = False
End With

Ich danke schonmal im Vorraus.
Bild

Betrifft: AW: Makro im "Hintergrund" abarbeiten
von: Ramses

Geschrieben am: 28.03.2005 14:19:32
Hallo
schalte die Bildschirmaktualisierung aus
Application.Screenupdating = False
For x = 2 To 400
Range("A" & x).Select
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Size = 11
.Bold = True
.ColorIndex = 0
End With
With ActiveCell.Characters(Start:=2, Length:=50).Font
.Size = 10 'schriftgröße 10
.Bold = False
End With
Application.Screenupdating = True
Gruss Rainer
Bild

Betrifft: AW: Makro im "Hintergrund" abarbeiten
von: Patrick K.
Geschrieben am: 28.03.2005 14:21:58
Das ging ja super schnell!!!!!!!!
Ich wusste es ist was winziges. Aber selbst bin ich ebend nicht drauf gekomm. :-)))

Danke Ramses und schönen Feiertag noch
Bild

Betrifft: AW: Makro im "Hintergrund" abarbeiten
von: Bert

Geschrieben am: 28.03.2005 14:22:48
Hi,
Option Explicit
Sub f()
Dim x As Long
Application.ScreenUpdating = False
For x = 2 To 400
With Range("A" & x).Characters(Start:=1, Length:=1).Font
.Size = 11
.Bold = True
.ColorIndex = 0
End With
With Range("A" & x).Characters(Start:=2, Length:=50).Font
.Size = 10 'schriftgröße 10
.Bold = False
End With
Next
Application.ScreenUpdating = True
End Sub

Gruß Bert
Bild

Betrifft: AW: Makro im "Hintergrund" abarbeiten
von: Josef Ehrensberger

Geschrieben am: 28.03.2005 14:23:43
Hallo Patrik!
Wenn man den Cursor wie einen Hund hetzt, dann muss es ja Flakern;-)
Sub Formatieren()
Dim x As Integer
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
For x = 2 To 400
With Cells(x, 1)
.Font.Size = 10 'schriftgröße 10
.Font.Bold = False
With .Characters(Start:=1, Length:=1).Font
.Size = 11
.Bold = True
.ColorIndex = 0
End With
End With
Next
ERRORHANDLER:
Application.ScreenUpdating = True
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: AW: Makro im "Hintergrund" abarbeiten
von: Patrick K.

Geschrieben am: 28.03.2005 14:34:26
Danke auch an die beiden anderen :-)
Ich habe die Sache von Joseph auch mal probiert und habe da aber die Feststellung gemacht daß das ganze "etwas" länger dauert.
Aber nichts für Ungut mir ist ja schon geholfen (auch wenn ich immer sag "mir ist nicht mehr zu helfen" :-))) )
Damit an alle Helfer einen schönen Feiertag noch.
 Bild