Clever-Excel-Forum

Normale Version: Kennzeichnung gestrichener Ergebnisse in einer "intelligenten" Wettkampftabelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8
Moin Bernd!
Da in der bedingten Formatierung der "diagonale Rahmen" nicht zur Verfügung steht, geht dies nur mit VBA.
Ist aber kein Akt, dies unter Zuhilfenahme von Werners Algorithmus in ein Worksheet_Change einzubauen.
Ich werde aber erst heute Abend dazu kommen.

Bis dahin,
Ralf
Hallo,
bei Ralf scheint etwas dazwischen gekommen zu sein (hoffentlich nichts schlimmes), weil er sich nicht mehr gemeldet hat.
Bitte, kann mir dann vielleicht doch noch jemand anderes beim Problem der Diagonalen helfen?

Viele Grüße
Bernd
Hi,

ich versuche es nochmal: angefügt ist meine Beispieldatei. Mit alt-F11 öffnet sich der VBA-Editor und mit dem grünen "Play"-Pfeil im Menü lässt sich das Makro starten.

mfg
Hi du Fuchs,

(18.08.2016, 08:12)Fennek schrieb: [ -> ]ich versuche es nochmal: angefügt ist meine Beispieldatei. Mit alt-F11 öffnet sich der VBA-Editor und mit dem grünen "Play"-Pfeil im Menü lässt sich das Makro starten.

aber da werden die gestrichenen Zahlen auch nur durchgestrichen und nicht die ganze Zelle diagonal.

So geht es:
Sub Nur_4()
   lr = Cells(Rows.Count, "B").End(xlUp).Row
   For i = 4 To lr
      Anz = WorksheetFunction.Count(Range(Cells(i, "E"), Cells(i, "K")))
      If Anz > 4 Then
         For j = 1 To Anz - 4
            M = WorksheetFunction.Small(Range(Cells(i, "E"), Cells(i, "K")), j)
            Sp = WorksheetFunction.Match(M, Range(Cells(i, "E"), Cells(i, "K")), 0)
            'Debug.Print i & ": Small: ", M, "Spalte: " & Sp 
            'Cells(i, 4 + Sp).Interior.Color = vbYellow 
            'Cells(i, 4 + Sp).Font.Strikethrough = True 
            
            With Cells(i, 4 + Sp)
               .Borders(xlDiagonalUp).LineStyle = xlContinuous
               .Borders(xlDiagonalUp).Color = -16776961
               .Borders(xlDiagonalUp).TintAndShade = 0
               .Borders(xlDiagonalUp).Weight = xlMedium
               .Borders(xlDiagonalDown).LineStyle = xlContinuous
               .Borders(xlDiagonalDown).Color = -16776961
               .Borders(xlDiagonalDown).TintAndShade = 0
               .Borders(xlDiagonalDown).Weight = xlMedium
               
            End With
         Next j
      End If
   Next i
End Sub
@Schwarzer Vogel

ja, aber wer hier fragt, muss das nehmen was kommt.

Im Ernst, diagonale Linien sind nicht in allen xl-Versionen verfügbar, da müßte zuerst geprüft werden, ob der Fragesteller einen solchen Code überhaupt nutzen kann. Dann ein "strikethrough" zu ersetzen, sollte nicht das Problem sein.

mfg
Hi,

(18.08.2016, 08:36)Fennek schrieb: [ -> ]Im Ernst, diagonale Linien sind nicht in allen xl-Versionen verfügbar, da müßte zuerst geprüft werden, ob der Fragesteller einen solchen Code überhaupt nutzen kann. Dann ein "strikethrough" zu ersetzen, sollte nicht das Problem sein.

Da haste Recht.

Habe vergessen zu schreiben, daß ich auf Dein Makro aufgebaut habe.
Hallo,

Danke, aber das Ergebnis von Ralfs Script habe ich ja schon durch bedingte Formatierung erreicht.
Ich suche eine Lösung für diese Excel-Tabelle in der 2007er Version, dass die nicht gewerteten Ergebnisse durch 2 Diagonalen durchkreuzt werden.
Ich weiß nicht, ob es eine Lösung gibt, deshalb habe ich hier angefragt und um Hilfe gebeten, wenn es realisierbar ist.

Grüße
Bernd
Hi,Fennek,


Zitat:Im Ernst, diagonale Linien sind nicht in allen xl-Versionen verfügbar, da müßte zuerst geprüft werden, ob der Fragesteller einen solchen Code überhaupt nutzen kann.

das müsste eigentlich für dich kein Problem sein - oder? Die diagonalen Linien gibt es seit XL 2007 und eben dieses gibt der Fragesteller bei jedem Eintrag an.

[
Bild bitte so als Datei hochladen: Klick mich!
]
Hallo Ralf,

war ein bisschen langsam, entschuldige. Habe Dein neues Script gerade ausprobiert.
Und es läuft - Danke!!!!!

Eine Frage bitte noch, wie aktualisiert sich die Tabelle nun automatisch, nachdem neue Ergebnisse eingegeben wurden?
Zur Zeit passiert das nur, indem ich das Modul in Visual Basic starte.
Die Leute in unserem Verein, die damit umgehen müssen, sind hiermit sicher überfordert.
Irgend etwas mache ich wohl noch falsch.


Grüße
Bernd
Hallo Ralf,

Es gibt aber noch ein großes Problem mit Deinem Script "nur_4":
Wird ein gestrichener Wert geändert, so wird die Streichung nicht mehr rückgängig gemacht.
Auch wenn dann ein nicht streichbarer Wert im Feld steht oder das Feld leer ist, bleibt die Streichung erhalten (siehe Anlage).

Bei jedem Starten von "nur_4" müssten also in der Tabelle zuerst wieder alle Diagonalen gelöscht und die betreffenden Feldfarben neu eingestellt werden.

Aber wie macht man das?
Ich müsste also noch einmal um Hilfe bitten

Das Problem mit dem automatischen Start des Scripts konnte ich selbst lösen.
Nun wird nach jeder Änderung im Tabellenblatt das Makro "nur_4" - abgerufen.
Habe noch ein paar kleine Änderungen vorgenommen, damit man das gestrichene Ergebnis besser lesen kann.
Habe die fertige Tabelle hier nochmals angehangen.

Viele Grüße
Bernd
Seiten: 1 2 3 4 5 6 7 8