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

Zellen-Formatierungen klappen nicht

Zellen-Formatierungen klappen nicht
14.03.2013 18:17:03
Chris
Hallo wieder einmal,
ich weiß nicht weiter bei folgendem Problem:
Ich habe ein separates Makro geschrieben, das Zelleneinträge vornimmt und diese Zellen auch gleich formatiert (Zellenfarbe, Rahmen, Schrifttyp, Schriftgröße usw.). Ich nenne es mal beispielhaft UnterMakro().
Über Application.Run "UnterMakro()" möchte ich dieses Makro in einem anderen Sub ausführen. Ich nenne es mal OberMakro().
Zur Erklärung: ich möchte mir zur besseren Übersicht den langen Code vom UnterMakro() im Obermakro() und allen weiteren Makros wo es benötigt wird ersparen.
So weit so gut. Die Zelleneinträge klappen auch, doch die Formatierung bis auf die Zellenfarbe NICHT. Ich bin nur auf einer Tabelle. Trotzdem versuchte ich direkte Zuweisungen mit Sheets("Tabellenname").Cells(r,c) aber auch das half nicht. Desweiteren muss ich hinzufügen, dass der Code wunderbar klappt, wenn ich ihn direkt ausgeschrieben im OberMakro() anstelle von Application.Run "UnterMakro()" einfüge.
Warum werden die Formatierungen nicht ausgeführt? Weiß jemand Rat?
Vielen Dank für Eure Hilfe schon im Voraus.
Gruß
Chris

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen-Formatierungen klappen nicht
14.03.2013 18:44:58
Hajo_Zi
Hallo Chris,
die Zeile 37 ist falsch.
Was sollen wir dazu schreiben, wir sehen das Makro nicht. Warum run usw. muss uns nicht klar sein

Code: Zellen-Formatierungen klappen nicht
14.03.2013 19:10:17
Chris
Hallo Hajo,
hier ein Auszug aus dem Untermakro:

Sub Datum_Liste_aktualisieren()
If Cells(4, 2) = "" Or Cells(5, 2) = "" Then
Cells(4, 2) = "01" & "." & "01" & "." & Year(Now)
Cells(5, 2) = WeekdayName(Weekday(Cells(4, 2)), False, vbSunday)
Cells(4, 2).NumberFormat = ("DD.MM.YYYY")
End If
With Cells(4, 2)
.Font.Name = "Franklin Gothic Demi Cond"
.Font.Size = 11
.Font.Color = RGB(0, 0, 0)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlMedium
.Borders(xlEdgeRight).ColorIndex = xlAutomatic
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeTop).ColorIndex = xlAutomatic
End With
With Cells(5, 2)
.Font.Name = "Franklin Gothic Demi Cond"
.Font.Size = 11
If Cells(5, 2) = "Samstag" Or Cells(5, 2) = "Sonntag" Then
.Font.Color = RGB(149, 55, 53)
Else
.Font.Color = RGB(128, 128, 128)
End If
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlMedium
.Borders(xlEdgeRight).ColorIndex = xlAutomatic
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeBottom).ColorIndex = xlAutomatic
End With
If Cells(5, 2) = "Samstag" Then
Cells(5, 2).Interior.Color = RGB(210, 191, 215)
Cells(4, 2).Interior.Color = RGB(210, 191, 215)
Else
If Cells(5, 2) = "Sonntag" Then
Cells(5, 2).Interior.Color = RGB(196, 167, 201)
Cells(4, 2).Interior.Color = RGB(196, 167, 201)
Else
Cells(5, 2).Interior.Color = RGB(229, 224, 236)
Cells(4, 2).Interior.Color = RGB(229, 224, 236)
End If
End If
End Sub
Nun könnte man meinen, es liegt an der With-Funktion, weil nur das nicht ausgeführt wird, aber ich habe auch schon ohne With probiert, auch ohne Erfolg. :(
Erster If-Block fügt den 01.01. diesen Jahres in Zelle B4 (4,2) und den Wochentag-Namen dazu in Zelle B5 (5,2) ein. Das klappt.
Die With-Blöcke gestalten die Zellen mit Rahmen und Farben und Schriftart usw. und diese funktionieren nicht, wenn ich dieses Makro aus einem anderen Makro aufrufe.
Der letzte If-Block passt die Zellen-Farben an den Wochentag an. Das klappt auch.
Vielleicht nur ein schusseliger Fehler? Ich hoffe es ;) Vielen Dank schon einmal.
Gruß
Chris

Anzeige
Dein Makro bezieht sich immer auf ...
14.03.2013 19:43:57
Luc:-?
…das gerade aktuelle Blatt, Chris;
falls das erwähnte andere Makro zwischendurch ein anderes Blatt öffnet, wird bei Aufruf des gezeigten Makros natürlich dieses andere Blatt bearbeitet.
Gruß Luc :-?

Gelöst
14.03.2013 23:11:31
Chris
Hallo Luc,
ja das ist es ja, es passiert alles auf einem Blatt also es ist garantiert kein Blattwechsel im Code. Aber ich habe es gerade herausgefunden :S Syntaxfehler? Ich schrieb ja, dass ich mit Application.Run "UnterMakro()" auf das Makro zugreifen will. Dabei muss es heißen:
Application.Run "Datum_Liste_aktualisieren"
und nicht:
Application.Run "Datum_Liste_aktualisieren()"
Also ohne die Klammern am Ende. Mein Fehler.
Gruß
Chris

Anzeige
Das hätte Hajo schon monieren sollen, ...
15.03.2013 01:40:57
Luc:-?
…aber der hatte es wohl mal wieder sehr eilig, Chris;
und Syntaxfehler wdn idR an der Stelle ihres Auftretens angezeigt!
Na, dann! Luc :-?

AW: Das hätte Hajo schon monieren sollen, ...
15.03.2013 09:35:48
Chris
Guten Morgen Luc,
merkwürdig ist nur, dass kein Fehler angezeigt wurde. Es wurde einfach nur der erste If-Block abgearbeitet ohne Meldung, dass irgendwo ein Fehler vorliegt. Ich vermute daher, dass ich mit den Klammern irgendeinen Befehl bewirke, den ich nicht kenne oder die Syntax damit so ändere, dass sie für mein Vorhaben nicht mehr funktioniert aber nicht gerade falsch ist.
Gruß
Chris

Oder d.Syntaxprüfung toleriert das hier, weil ...
15.03.2013 16:44:41
Luc:-?
…es in anderem Zusammenhang erlaubt ist, Chris;
möglicherweise wdn so die () hier auch als Bestandteil des Namens angesehen. Wir wissen ja nicht, wie der MS-Quellcode aussieht… ;-)
Gruß Luc :-?
Anzeige

286 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige