Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1248to1252
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
Inhaltsverzeichnis

Fehler im Makro??

Fehler im Makro?
Meier
Hallo zusammen
ich habe mir folgenden VBA-Code zusammengebastelt. Leider funktioniert dieser nicht ganz.
Im Excel habe ich 2 mal je 4 Spalten für eine Quartalsberechnung (x14:aa62,be14:bh62).
Im Register ("Steuerung").Range("B2") schriebe ich dann das aktuelle Qurtal rein. Jetzt möchte ich, dass das aktuelle Quartal Fett ist und die kommmenden Grau hinterlegt werden und die vergangenen normal schwarz sind.
Jedoch funktioniert mir der zweite Teil nicht, wo ich sage was ich fett haben möchte.
Hoffe jemand kann mir hier helfen oder sieht gleich den Fehler.
Vielen vielen Dank.
Sub Quartal_Formatierung_Monate()
Dim sSheet As Variant, iQuartal As Integer, c As Range
Dim iOffset As Integer
iQuartal = Sheets("Steuerung").Range("B2")
Application.ScreenUpdating = False
'For Each sSheet In Array    For Each sSheet In Array("Sheet1", "Sheet2")
With Sheets(sSheet)
For Each c In .Range("x14:aa62,be14:bh62").Cells
With c
If .Column 

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Fehler im Makro?
16.02.2012 12:42:57
Rudi
Hallo,
das ist falsch: Case .Column = iQuartal + iOffset
Case iQuartal+iOffset
Warum für jede Zellen einzeln?
Gruß
Rudi
verbesserung
16.02.2012 12:51:19
Rudi
Hallo,
das ist auf jeden Fall schneller:
Sub Quartal_Formatierung_Monate()
Dim sSheet As Variant, iQuartal As Integer, c As Range
Dim i As Long, j As Long
Dim iOffset As Integer
iQuartal = Sheets("Steuerung").Range("B2")
Application.ScreenUpdating = False
sSheet = "Tabelle1"
'For Each sSheet In Array    For Each sSheet In Array("Sheet1", "Sheet2")
With Sheets(sSheet)
For j = 23 To 56 Step 33
For i = 1 To iQuartal - 1
With .Cells(14, j).Offset(, i).Resize(49)
.Font.Bold = False
.HorizontalAlignment = xlRight
With .Font
.ColorIndex = xlAutomatic
'.TintAndShade = 0
End With
End With
Next i
With .Cells(14, j).Offset(, iQuartal).Resize(49)
.Font.Bold = True
.HorizontalAlignment = xlRight
With .Font
.ColorIndex = xlAutomatic
'.TintAndShade = 0
End With
End With
For i = iQuartal + 1 To 4
With .Cells(14, j).Offset(, i).Resize(49)
.Font.Bold = False
.HorizontalAlignment = xlCenter
With .Font
.Color = -7303024
'.TintAndShade = 0
.Bold = False
End With
End With
Next i
With .Cells(14, j).Offset(1, 1).Resize(48, 4)
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With .Cells(14, j).Offset(, 1).Resize(, 4)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Next j
End With
Application.ScreenUpdating = True
MsgBox "Fertig"
End Sub

Gruß
Rudi
Anzeige
AW: verbesserung
16.02.2012 13:31:29
Meier
super vielen dank für die schnelle hilfe und sry für den doppeleintrag hab auf reload geklickt.
besten dank und eine gute zeit

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige