Anzeige
Archiv - Navigation
1720to1724
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

Makro ändert Schriftfarbe obwohl ich es nicht will

Makro ändert Schriftfarbe obwohl ich es nicht will
09.11.2019 20:42:36
Chris
Hallo,
ich bitte um eure Hilfe.
Nachfolgendes Makro hatte bislang einwandfrei funktioniert.
Jetzt habe ich in 4 Zeilen die Schriftfarbe geändert.
Jedoch scheint das Makro beim kopieren der Formeln auch die Schriftfarbe aus Zeile 1 zu übernehmen.
Kann man irgendwas machen, dass das Makro nur die Formeln kopiert, jedoch die Schriftfarbe der Zeilen in die es die Formeln kopiert, beibehält?
Danke
Christian

Sub Makro3()
Dim loLetzte As Long, j As Long, x As Long, lC As Long
Application.ScreenUpdating = False
With Worksheets("Ergebnis")
loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("B1:C1").Copy .Range("B1:C" & loLetzte)
.Range("B2:C" & loLetzte).Copy
.Range("B2:C" & loLetzte).PasteSpecial xlPasteValues
.Range("E1:F1").Copy .Range("E2:F" & loLetzte)
.Range("E2:F" & loLetzte).Formula = .Range("E2:F" & loLetzte).Value2
.Range("K1") = "Formel"  'Zeile 1 markieren!!
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("C1:C" & loLetzte), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=.Range("F1:F" & loLetzte), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A1:K1" & loLetzte)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Zeile der Markierung in Spalte l suchen
x = .Cells(Rows.Count, 11).End(xlUp).Row
'Formeln ggf. in Zeile1 zurück kopieren
If x > 1 Then
.Cells(x, 2).Resize(1, 2).Copy .Range("B1")
.Cells(x, 5).Resize(1, 6).Copy .Range("E1")
.Cells(x, 5).Copy .Range("E1")
.Rows(x).Value = .Rows(x).Value
End If
.Range("G1:J1").Copy .Range("G2:J" & loLetzte)
.Range("G2:J" & loLetzte).Copy
.Range("G2:J" & loLetzte).PasteSpecial xlPasteValues
.Cells(x, 11) = Empty 'markierung löschen
.Range("E2").Select
End With
Application.CutCopyMode = False
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
09.11.2019 21:43:15
Daniel
Hi
Statt
Quelle.COPY Ziel
Das hier
Quelle.COPY
Ziel.PASTSPECIAL xlpasteformulas

Gruß Daniel
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
10.11.2019 07:49:20
Chris
Hallo Daniel,
da sagt man mir es würde ein Anwendungsende erwartet, wenn ich daraus
.Range("B1:C1").Copy .Range("B1:C" & loLetzte).PASTSPECIAL xlpasteformulas
mache.
Gruß
Christian
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
10.11.2019 09:50:51
Daniel
Naja, wenn man wild in der Gegend rumexperimentiert ohne sich drüber zu informieren, wie die einzelnen Befehle aufgebaut sind, wie sie funktionieren und was zulässig ist und was nicht, dann kann es schon mal zu solchen Fehlermeldungen kommen.
Schau dir meine Antwort nochmal genau an, vielleicht fällt für ja der Unterschied zu dem, was du daraus gemacht hast auf.
Gruß Daniel
Anzeige
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
09.11.2019 21:45:34
Luschi
Hallo Chris,
würdest Du Deinen Code mal durchchecken und 1 Haltepunkt setzen (F9-Taste) und dann per F8-Taste jeden Befehl einzeln ausführen lassen, hättest Du sofort diese Zeile für den Verursacher festgestellt:
.Range("B1:C1").Copy .Range("B1:C" & loLetzte)
Damit kopierst Du die Zellen 'B1:C1' (Werte einschließlich aller Formatierungen) in den danach angegebenen Bereich.
Eigentlich hättest Du merken müssen, das außer der Formatierung auch die Werte nicht mehr stimmen.
Gruß von Luschi
aus klein-Paris
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
10.11.2019 01:27:37
Daniel
Quelle.Copy Ziel
Kopiert Formeln und Formate, nicht Werte und Formate.
Gruß Daniel
Anzeige
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
10.11.2019 07:50:10
Chris
Hallo Luschi,
ich möchte an dieser Stelle keine Werte, sondern Formeln kopieren.
Gruß
Christian
AW: Makro ändert Schriftfarbe obwohl ich es nicht will
11.11.2019 06:58:46
Luschi
Hallo Chris,
die einzige Vba-Zeile mit Formula in dem Codeausschnitt ist:
.Range("E2:F" & loLetzte).Formula = .Range("E2:F" & loLetzte).Value2
'Formula' kann aber nmur das in die Zellen schreiben, was 'Value2' schickt, und das sind eben Werte,
wobei die Datentyp 'Currency' und 'Date' in Double umgewandelt werden! - siehe Vba-Hilfe.
Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige