Sortieren in Excel 2013 (Win10) nach "durchgestrichen"

Dieser Thread ist Teil einer Diskussion zu einem Artikel:  Zum News-Artikel gehen Zum News-Artikel gehen

speedy2008

Stammgast
Hoi zäme,
Wollte meine lange Liste nach "durchgestrichen" sortieren (von 300+ Datensätzen). Habe dann in Google gesucht und wurde fündig mit den Befehlen "Alt+F11", dann Einfügen, dann Modul und eine Formel (weiss ich nciht mehr). Anschliessend sollte man in jener Spalte diese Formel reinsetzen und dann runterziehen, womit sich dann das Resultat "False" oder "True" bzw. "Falsch" oder "wahr" zeigen würde. Beide Formeln (eine auf Englisch, eine auf Deutsch) führten leider nicht zum Resultat: in jeder Zeile erschien mit den Formeln "falsch" (false)! Eigentlich hätten 14 mit "true" bzw. "wahr" angezeigt werden sollen.
An der Formel kann's nicht liegen, weil ich die 1:1 von Google übernommen habe. Kann es sein, dass das mit dem abgelaufenen Office 2013 zusammenhängt? Ich bekam nämlich bei der Hilfe im Excel 2013 die Info, dass "Updates eingestellt wurden".
Weiss jemand einen Alternativ-Trick, wie ich die "durchgestrichen"-Zeilen rausfiltern kann?
Besten Dank für Tipps.
Gruss
de speedy
 
Hallo speedy2008,
das klingt so, als sei dort eine benutzerdefinierte Tabellenblattfunktion in VBA benutzt wurden. Bevor ich jetzt hier das Rad neu erfinde, zeig doch mal deine Mappe. Oder ist die geheim? Dann zeige wenigstens den VBA Code der Funktion und wie du sie in deiner Mappe aufgerufen hast.
An Excel 2013 liegt es höchstwahrscheinlich nicht. Das sollte problemlos funktionieren.

Gruß und guten Start ins neue Jahr,
Andreas
 
Hallo Andreas.
Hier der auf Google gefundene Tipp. Habe alles befolgt und gemäss Excel-Wissen angewandt, nur bekomme ich in der 3.Zeile immer "False". Ich könnte es natürlich überlisten, indem ich die Spalte "Defekt" bezeichne und dann bei den betreffenden Zeilen ein Kreuzchen (x) mache. Beim Filtern würde das ja klappen, aber es sollte doch bei Excel auch eine logische Formel geben.

Grusss de speedy

Pfeil blau rechte Blase

Leider gibt es für uns keine direkte Möglichkeit, die durchgestrichenen Daten mithilfe von zu sortieren oder zu filtern Sortieren or Filter Funktion, aber wir können eine einfache erstellen Benutzerdefinierte Funktion Markieren Sie die Daten zuerst durchgestrichen und wenden Sie dann die Sortier- oder Filterfunktion an.

Angenommen, ich habe den folgenden Datenbereich mit durchgestrichenem Bild (siehe Abbildung), können Sie die durchgestrichenen Daten mit den folgenden Schritten sortieren oder filtern:

Beispieldaten mit Durchstreichung


1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.

3. Speichern und schließen Sie dann das Fenster, in einer leeren Zelle neben Ihren Daten, geben Sie bitte diese Formel ein = HasStrike (A2)In diesem Fall werde ich es in Zelle C2 eingeben. Siehe Screenshot:

Wenden Sie eine Formel an, um die Zelle auf Durchgestrichenheit zu prüfen.


Note: In der obigen Formel A2 ist der Wert, den Sie identifizieren müssen, wenn er als durchgestrichen formatiert ist. Sie können es nach Bedarf ändern.

4. Ziehen Sie dann den Füllpunkt auf die Zellen, auf die Sie diese Formel anwenden möchten. Wie der folgende Screenshot zeigt, können Sie sehen, dass die Daten, wenn sie als durchgestrichen formatiert sind, als angezeigt werden TRUEund die normalen Daten werden als angezeigt FALSCH.
 

Anhänge

also das sind die zwei möglichen Formeln für die VBA oder wie das heisst :
1. English:
Function HasStrike(Rng As Range) As Boolean
HasStrike = Rng.Font.Strikethrough
End Function


2. Deutsch:
Function Durchgestrichen (Rg As Range) As Boolean
Durchgestrichen = Rg.Font.Strikethrough
End Function


Man solle das am Ende speichern, ohne nähere Angaben dazu. Wahrscheinlich für Leute, die sich damit auskennen. Hilft das?

LG de speedy
 
Ein gutes neues Jahr!
OK, jetzt weiß ich, was gemeint ist, und so ähnlich dachte ich es mir auch. Ich wollte nur ausschließen, das Fehler drin sind.
Diese Funktionen sind sehr rudimentär: Es findet z.B. keine Überprüfung statt, ob vielleicht mehrere Zellen übergeben werden. Das würde eine Auswertung sinnlos machen.
Aber egal, wie ausführlich die Funktionen aufgebaut wären, das generelle Problem dabei ist, sie werden nur durchlaufen, wenn sich der Inhalt der Zelle, die untersucht werden soll ändert. Wenn der Text also nur durchgestrichen wird, ohne dass er sich sonst ändert, bekommen die Funktionen das nicht mit.
Langer Rede kurzer Sinn: Beim erstmaligen Einfügen der Formeln sollte False/Falsch oder True/Wahr richtig angezeigt werden. Wenn du danach die Schrift von Nicht-Durchgestrichen auf Durchgestrichen änderst, oder andersherum, musst du hinterher immer F9 drücken, um neu zu berechnen. Ich habe gestern noch einiges versucht, um diese Klippe zu umschiffen, ist mir aber nicht gelungen.
Probiers mal mit F9. Wenns dann immer noch nicht klappt, müsstest du mal die echte Mappe hier zeigen, damit man testen kann.

Gruß, Andreas
 
hallo Andreas

Bingo - F9 hat gefehlt! Danke vielmals!! Warum geben die Experten im Google Formeln an, ohne zu berücksichtigen, dass es einen Abschluss bräuchte? Mich wundert auch, dass Ausgabe (wahr/falsch) auf Deutsch kommt, obwohl Formel auf Englisch eingegeben wurde. Komisch, oder? Vielleicht hing es auch mit dem Spaltentitel zusammen beim 1.Mal: Da gab ich ja "Durchgestrichen" an, gefolgt von der englischen Formel. Aber egal. Wie speichert man aber diese VBA (oder wie sie heisst) -Formel? Ich habe im Untermenü nichts Hilfreiches gefunden.
Bis zum nächsten Mal.
LG de speedy
 
Nicht jeder, der sich "Experte" nennt, ist auch einer. Im Netz gibt es mindestens so viele Un- und Halbwahrheiten wie Richtiges.
Dass da Wahr/Falsch auf Deutsch steht hängt mit der deutschen Excel-Version zusammen. VBA liefert nur den Wahrheitswert zurück, unabhängig von der Sprache, (als Zahlenwert). Wie der dann in der Zelle dargestellt wird, hängt von der Excel-Sprache ab.
Deine Mappe musst du jetzt als Excel-Mappe mit Makros (.xlsm) Speichern, damit die Funktion erhalten bleibt. Das machst du mit "Speichern unter...", "Durchsuchen". Aus dem Dropdown-Menü beim "Dateityp" den 2. Eintrag wählen.

Gruß, Andreas
 
Noch eine Frage zum Speichern als VBA (mit Makros):
Was kann ich damit tun? Kann ich diese *.xlm-Datei auch für andere Excel-Dateien überschreiben und abspeichern als xlm?
Wenn ich diese xlm-Datei aufrufe, dann sehe ich doch linker Hand, dass ich dort z.B. 3x versucht habe, meine Liste damit zu bearbeiten, weil dort 3x die Excel-Datei aufgelistet ist. Aber wenn ich eine davon anklicke, sehe ich rechts im grossen Feld nichts; es bewegt sich ncihts. Was für einen Sinn hat denn diese VBA-Datei?
Gruss
de speedy
 
Also, ich glaube wir müssen hier jetzt mal einen kurzen Grundkurs VBA abhalten:
VBA (Visual Basic for Applications) ist eine Programmiersprache, die in MS Office Programmen enthalten ist. In unserem Fall ist VBA Bestandteil von Excel. Man kann Excel damit praktisch "steuern". D.h. man kann all das in einem Programm nachbilden und ausführen, was man sonst von Hand mit Maus und Tastatur in Excel macht. Es geht noch Vieles mehr, aber das führt hier zu weit. Verstehen solltest du: VBA ist kein eigenes Programm, sondern es ist in Excel enthalten. Die VBA Programme schreibt man im sog. VBA Editor. Das ist das Fenster, das du z.B. mit Alt-F11 öffnen kannst. Die Programme, die du dort schreibst, werden in deiner Excel-Mappe gespeichert; in einem speziellen Bereich, den du vom reinen Excel aus nicht siehst, wenn du den VBA Editor nicht benutzt. Als Zeichen dafür, dass eine Mappe VBA Programme enthält, wird sie mit der Endung .xlsm (m für Makro) gespeichert. Warum nennt man es Makro?:
Ursprünglich war VBA dazu gedacht, Befehlsfolgen von Excel aufzuzeichnen und wieder "abspielen" zu können. D.h. mehrere Kommandos wurden zu einer großen (makroskopischen) Einheit (einem Makro) zusammengefasst. Da man in Excel oft gleichbleibende Dinge tut, konnte man diese aufzeichnen und beliebig oft wiederholen lassen.

Das Aufzeichnen ist oft die erste Grundlage für ein umfangreicheres VBA Programm, das man daraus entwickelt.

Man kann auch, wie in deine Fall, den Funktionsumfang von Excel erweitern. D.h. man kann in VBA Funtionen schreiben, die man dann in einem Tabellenblatt benutzen kann. Deine Funktion "Durchgestrichen" ist solch eine Funktion. Sie wird genau so benutzt wie z.B. die Excel-eigene Funktion ISTLEER. Wenn du in eine Zelle schreibst =ISTLEER(A1), erhälts du Wahr, wenn A1 leer ist und Falsch, wenn dort etwas steht.
Schreibst du in eine Zelle =Durchgestrichen(A1), erhältst du Wahr, wenn A1 mit durchgestrichenem Text formatiert ist. Ein kleiner Unterschied ist: ISTLEER überprüft den Inhalt der Zelle und wird deswegen automatisch aktualisiert, wenn der Inhalt von A1 sich ändert. Durchgestrichen überprüft aber nur die Formatierung. Deswegen muss hier mit F9 von Hand aktualisiert werden.

Zu deiner Frage (wenn ich es recht verstanden habe), ob man die Funktion "Durchgestrichen" auch in anderen Excel-Mappen benutzten kann. Prinzipiell geht das, ist aber etwas umständlich. 2 Wege gibt es:
  1. Wenn du z.B. die Funktion "Durchgestrichen" im Codebereich von "Mappe1.xlsm" stehen hast, kannst du sie in einer anderen Mappe benutzen, wenn du dem Funktionsnamen den Mappennamen und ein ! voranstellst. In Mappe2.xlsx müsstest du dann schreiben
    =Mappe1!Durchgestrichen(A1)
    Du siehst, du kannst Funktionen auch in Mappen benutzen, die selber keine Makros enthalten (Endung .xlsx). Voraussetzung ist aber in jedem Fall, dass Mappe1.xlsm, die die Funktion enthält, geöffnet ist.
  2. Die andere Möglichkeit ist, man schreibt den VBA Code der Funktion in ein sog Add-In. Das ist eine Excel-Mappe, die praktisch unsichtbar beim Starten von Excel mit geöffnet wird. Funktionen, die dort eingetragen sind, sind in allen Mappen verfügbar, ohne dass man weitere Klimmzüge machen muss. Wie man ein Add-In erstellt, führt aber hier zu weit.
Zitat:
Wenn ich diese xlm-Datei aufrufe, dann sehe ich doch linker Hand, dass ich dort z.B. 3x versucht habe, meine Liste damit zu bearbeiten, weil dort 3x die Excel-Datei aufgelistet ist. Aber wenn ich eine davon anklicke, sehe ich rechts im grossen Feld nichts; es bewegt sich ncihts.
Sorry, das habe ich leider nicht verstanden.

Grüße, Andreas
 
Danke Andreas für die Erklärung zur VBA. Genau wie dir meine Info (Sorry, habe ich leider nicht verstanden) unklar ist, ist mir die VBA immer noch unklar. Macht nix. Brauche ich nicht. Vielleicht begreife ich das später mal, wenn die VBA nötig wird, um auf etwas aufzubauen. Momentan bin ich nur froh, dass das mit F9 als Abschluss geklappt hat. Erinnert mich an früher, wo ich gewisse Formeln oder Bausteine in Word auch mit F9 aktualisieren (z.B. Datumformel) musste. Diese Funktion brauche ich heute nicht mehr.

LG de speedy
 
Um es abzukürzen: Ich dachte, VBA sei eine Vorlage, eine Alternative zu *.dot und *xlt. :coffee::-), die man einfach überschreiben könne. Aber da liege ich wohl falsch. Und ich dachte auch, man könne sich da was rausfischen, wenn Dateien schon unter Modulen aufgeführt sind, die man bearbeitet hat. Scheint etwas für IT-Cracks zu sein. Danke vorerst.
LG de speedy
 
Zurück
Oben