ich suche für folgendes Problem eine Lösung. Bitte helft mir.
Habe eine Tabelle, 17 Spalten, 1557 Zeilen.
Diese aktualisiere ich täglich mit am Ende stehendem, soweit funktionierendem Makro.
Jetzt habe ich seit heute das Problem, dass es in den Spalten C, F, J, L und P auch negative Zahlen gibt.
Das Makro gibt jedoch alles in diesen Spalten als Datum im Format TT.MM.JJJJ aus, mit anderen Worten statt diesen negativen Zahlen steht da nur ################.
Wie muss ich das Makro ändern, damit negative Zahlen auch als solche ausgegeben werden?
Und weiterhin alle positiven Zahlen als Datum.
In den anderen Spalten stehen entweder Text oder Zahlen im Format Zahl, alle anderen Spalten sollen so bleiben wie sie sind.
Danke für euren Rat
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("R1") = "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:R" & loLetzte)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Zeile der Markierung in Spalte l suchen
x = .Cells(Rows.Count, 18).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, 13).Copy .Range("E1")
.Cells(x, 5).Copy .Range("E1")
.Rows(x).Value = .Rows(x).Value
End If
.Range("G1:Q1").Copy .Range("G2:Q" & loLetzte)
.Range("G2:Q" & loLetzte).Copy
.Range("G2:Q" & loLetzte).PasteSpecial xlPasteValues
.Cells(x, 18) = Empty 'markierung löschen
.Range("E2").Select
End With
Application.CutCopyMode = False
End Sub