Nutzer-Anmeldung
E-Mail-Newsletter
Tragen Sie hier Ihre E-Mail-Adresse ein:
Online-Archive
Aktuelle Themen
Eingabe: Zahl der Dezimalstellen begrenzen
Formeln: Alle Zeichen in einem Bereich zählen
Listen: Gleiche Werte in benachbarten Zellen vermeiden
VBA: Makro mit einer Wenn- Abfrage starten
Listen: Spaltenverweis bei nur teilweiser Übereinstimmung
Formatierung: Einzelne Zeichen eines Zellinhalts formatieren
Excel 2007: Hotfix gegen Probleme beim Filtern nach Farben
Excel 2010: Update für Datei-Validation
Excel 2002, 2003, 2007: Microsoft schließt sieben Sicherheitslücken
Hier finden Sie die neuesten Informationen und Kurztipps aus Ausgabe 5/10 (14.05.10)
Eingabe
Zahl der Dezimalstellen begrenzen
In einer Excel-Liste soll sichergestellt werden, dass in bestimmte Zellen nur Werte mit maximal drei Dezimalstellen eingetragen werden können.
Allen, die jetzt denken, das sei über ein Zahlenformat mit drei Dezimalstellen lösbar, sei gesagt, dass diese spontane Idee nicht funktioniert. Excel zeigt dann zwar nur die gewünschte Zahl von Dezimalstellen an, rechnet intern aber weiterhin mit allen eingegebenen Stellen. Das kann zu Fehlern bei Berechnungen führen.
Diese Aufgabenstellung lösen Sie daher mit einer Gültigkeitsprüfung. Dazu gehen Sie folgendermaßen vor:
Markieren Sie die Zellen, bei denen Sie die Anzahl der Dezimalstellen beschränken möchten. Im Beispiel ist das der Zellbereich B2:B8. Dann rufen Sie im Menü „Daten“ den Befehl „Gültigkeit“ („Daten – Datenüberprüfung“ bei Excel 2007 und 2010) auf.
In der erscheinenden Dialogbox aktivieren Sie das Register „Einstellungen“. In diesem öffnen Sie das Listfeld „Zulassen“ und wählen dort die Option „Benutzerdefiniert“.
In das Eingabefeld „Formel“ tragen Sie die folgende Formel ein:
=REST(B2*10^3;1)=0
Die folgende Abbildung zeigt die Dialogbox mit eingetragener Formel:
Wechseln Sie in der Dialogbox nun in das Register „Eingabemeldung“. In diesem legen Sie einen Titel und einen Text für die Meldung fest, die angezeigt wird, sobald eine der Zellen aktiviert wird.
Die folgende Abbildung zeigt die Definition der Eingabemeldung aus der Beispieltabelle:
Anschließend aktivieren Sie in der
Die folgende Abbildung zeigt die Definition der Fehlermeldung für die Beispieltabelle:
Abschließend bestätigen Sie die Einstellungen für die Gültigkeitsprüfung mit „OK“. Sobald eine der so eingerichteten Zellen markiert wird, erscheint die Eingabemeldung:
Wenn Sie nun versuchen, einen Wert mit mehr als drei Dezimalstellen einzugeben, erscheint die folgende Fehlermeldung:
Mit einem Klick auf „Wiederholen“ kehren Sie zur Zelleingabe zurück und können einen korrekten Wert eintragen.
Die passende Beispieltabelle können Sie über www.excel-berater-online.de abrufen. Aktivieren Sie das Tabellenblatt „Dezimalstellen“ in der Arbeitsmappe TuM_5_10.xls.
Dialogbox das Register „Fehlermeldung“. In diesem legen Sie einen Titel und einen Text für die Fehlermeldung fest, die angezeigt wird, wenn versucht wird, einen Wert mit mehr als drei Dezimalstellen einzugeben.
Formeln
Alle Zeichen in einem Bereich zählen
In einer Excel-Tabelle sollen alle Zeichen der Zellinhalte eines Zellbereichs gezählt werden.
Für einzelne Zellen steht Ihnen für das Zählen der Zeichen eines Zellinhalts die Funktion LÄNGE zur Verfügung. Wenn Sie diese mit der Funktion SUMME in einer Matrixformel kombinieren, erhalten Sie auch für die Zellen eines Bereichs das gewünschte Ergebnis.
Wenn Sie die Zeichen der Zellen im Bereich A1:C100 zählen möchten, tragen Sie die folgende Formel in die Ergebniszelle ein:
=SUMME(LÄNGE(A1:C100))
Da es sich um eine Matrixformel handelt, die in einem Zellbereich angewandt werden soll, müssen Sie die Eingabe der Formel mit der Tastenkombination Strg Pfeil Eingabe bestätigen.
Die folgende Abbildung zeigt den Einsatz der Matrixformel in einer Beispieltabelle:
Die passende Beispieltabelle können Sie über www.excel-berater-online.de abrufen. Aktivieren Sie das Tabellenblatt „Zeichenzählen“ in der Arbeitsmappe TuM_5_10.xls.
Listen
Gleiche Werte in benachbarten Zellen vermeiden
In einer Tabelle soll verhindert werden, dass in einer Spalte ein Wert eingetragen wird, der bereits in einer Zelle darüber oder darunter steht.
Für diese Aufgabenstellung verwenden Sie die Gültigkeitsprüfung. Dazu gehen Sie folgendermaßen vor:
Markieren Sie den Zellbereich, für den Sie identische Werte in benachbarten Zellen unterbinden möchten – beispielsweise den Bereich A2:A100.
Achten Sie unbedingt darauf, dass der Bereich in der zweiten Zeile oder darunter beginnen muss, da sonst ein Vergleich mit der darüberliegenden Zelle nicht möglich ist.
Anschließend rufen Sie im Menü „Daten“ den Befehl „Gültigkeit“ auf. In der erscheinenden Dialogbox wählen Sie im Listfeld „Zulassen“ die Option „Benutzerdefiniert“. In das Eingabefeld „Formel“ tragen Sie die folgende Formel ein:
=UND(A2<>A1;A2<>A3)
Die folgende Abbildung zeigt die Dialogbox mit eingetragener Formel:
Nach der Eingabe der Formel wechseln Sie in das Register „Fehlermeldung“. Dort legen Sie einen Titel und den Text für die Meldung fest, die erscheint, wenn versucht wird, einen Wert einzugeben, der in der Spalte bereits in einer Zelle darüber oder darunter steht.
Diese Einstellungen bestätigen Sie mit der Schaltfläche „OK“. Damit ist die Gültigkeitsprüfung eingerichtet.
Beachten Sie, dass die Überprüfung nur funktioniert, wenn unterhalb der Eingabezelle bereits etwas eingetragen ist. Zur Not können Sie sich mit einem Platzhalter behelfen – zum Beispiel „ka“ für keine Angabe.
Die passende Beispieltabelle können Sie über www.excel-berater-online.de abrufen. Aktivieren Sie das Tabellenblatt „Nachbarzelle“ in der Arbeitsmappe TuM_5_10.xls.
VBA
Makro mit einer Wenn- Abfrage starten
In einer Excel-Tabelle soll ein Makro ausgeführt werden, wenn eine Wenn- Abfrage einen Wahrheitswert liefert. Ansonsten soll einfach ein Text angezeigt werden.
Diese Aufgabenstellung lösen Sie mit einer benutzerdefinierten VBAFunktion. Dabei arbeiten Sie mit einer Function-Prozedur statt mit einer Sub-Prozedur.
Sie bereits ein Makro haben, das mit der Wenn-Abfrage gestartet werden soll, können Sie den Code in die Function- Prozedur hineinkopieren oder die Sub-Prozedur daraus aufrufen.
Als Beispiel dient hier ein einfaches Makro mit dem Namen „MeinMakro“, das lediglich eine einfache Dialogbox aufruft.
Für die Eingabe rufen Sie im Menü „Extras“ den Befehl „Makro“ auf. In der erscheinenden Dialogbox tragen Sie in das Feld „Makroname“ den Titel ein – im Beispiel „MeinMakro“.
Anschließend klicken Sie auf „Erstellen“. Daraufhin wird der Visual Basic Editor geöffnet. Zwischen „Sub Mein- Makro()“ und „End Sub“ geben Sie den folgenden Code ein:
MsgBox "Ich bin ein Beispiel-Makro"
Dieser Code liefert nach dem Aufruf des Makros lediglich eine Hinweis-Box mit dem Text „Ich bin ein Beispiel- Makro“, was zur Erläuterung der Funktionsweise ausreichen soll.
Für die benutzerdefinierte Funktion geben Sie nun unterhalb des Makros den folgenden Code ein:
Public Function StarteMeinMakro() As String
MeinMakro
StarteMeinMakro = "Mein Makro wurde ausgeführt"
End Function
Dieser Code führt dazu, dass nach dem Aufruf der Funktion das Makro ausgeführt und der Text „Mein Makro wurde ausgeführt“ ausgegeben wird.
Die folgende Abbildung zeigt den kompletten Code im Visual-Basic- Editor:
Nach der Eingabe der Codes rufen Sie im Editor im Menü „Datei“ den Befehl „Schließen und zurück zu Microsoft Excel“ auf. Damit kehren Sie zu Ihrer Tabelle zurück.
Für den Test, ob Makro und Funktion korrekt arbeiten, soll eine Wenn- Abfrage erstellt werden, die überprüft, ob in der Zelle A1 der Text „Start“ steht. Wenn ja, soll das Makro ausgeführt werden, falls nicht, soll der Text „Kein Makro ausgeführt“ angezeigt werden.
Für diese Abfrage tragen Sie die folgende Formel in die Ergebniszelle ein:
WENN(A1="Start";StarteMeinMakro ();"Kein Makro ausgeführt")
Wenn Sie den Text nun in die Zelle A1 eintragen, wird das Makro von Ihrer benutzerdefinierten Funktion aufgerufen. Die Hinweis-Box erscheint und die Funktion trägt den Text „Mein Makro wurde ausgeführt“ in die Ergebniszelle ein.
Die folgende Abbildung zeigt die Wenn-Abfrage und die Hinweis-Box in der Beispieltabelle:
Die passende Beispieltabelle können Sie über www.excel-berater-online.de abrufen. Aktivieren Sie das Tabellenblatt „MakroWenn“ in der Arbeitsmappe TuM_5_10.xls.
Listen
Spaltenverweis bei nur teilweiser Übereinstimmung
Eines der beliebtesten Einsatzgebiete von Excel ist die Abfrage von Zellinhalten aus Listen. Der Klassiker ist die Ausgabe von Artikelinformationen nach Eingabe der Artikelnummer.
Wenn die Artikelnummer eindeutig ist und alleine in einer Zelle steht, geht das ganz einfach mit der Funktion SVERWEIS. Diese Lösung haben wir hier schon in verschiedensten Zusammenhängen erläutert.
Wenn die Artikelnummer allerdings nicht nur die Nummer selbst enthält, sondern weitere Informationen wie Kategorie oder Verpackungseinheit, kommen Sie mit SVERWEIS nicht weiter. Dann hilft die Kombination von INDEX und VERGLEICH.
Im vorliegenden Beispiel ist die Artikelnummer in der Liste folgendermaßen aufgebaut:
AA-3652-10
Die Artikelnummer steht in der Mitte, vorne eine Buchstabenkombination für die Kategorie und hinten die Verpackungseinheit.
Die folgende Abbildung zeigt einen Ausschnitt aus der Beispieltabelle, aus der nach Eingabe einer Artikelnummer der Bestand abgefragt werden soll:
Nach der Eingabe der Artikelnummer in die Zelle B1 soll der aktuelle Bestand des Artikels in der Zelle B2 ausgegeben werden. Tragen Sie dazu die folgende Formel in die Zelle B2 ein:
=INDEX(A5:C102;VERGLEICH("*" &$B$1&"*";A5:A102;0);3)
Die folgende Abbildung zeigt den Einsatz dieser Formel in der Beispieltabelle:
Die passende Beispieltabelle können Sie über www.excel-berater-online.de abrufen. Aktivieren Sie das Tabellenblatt „Artikelliste“ in der Arbeitsmappe TuM_5_10.xls
Formatierung
Einzelne Zeichen eines Zellinhalts formatieren
Immer wieder kommt es vor, dass in einer Excel-Tabelle einzelne Zeichen eines Zellinhalts anders formatiert werden müssen als der Rest der Zelle.
Denken Sie beispielsweise an chemische Formeln oder Flächenangaben, bei denen Zeichen hoch- oder tiefgestellt werden müssen.
Für die Formatierung einzelner Zeichen in einer Zelle gehen Sie folgendermaßen vor:
Aktivieren Sie die entsprechende Zellemit einem Doppelklick. Dann markieren Sie mit der Maus oder über die Tastatur das zu formatierende Zeichen.
Die folgende Abbildung zeigt die markierte 2 in einer Zelle, in der „m2“ angezeigt werden soll:
Mit der Tastenkombination Strg1 rufen Sie die Dialogbox „Zellen formatieren“ auf. In dieser nehmen Sie die Formatierungseinstellungen für das markierte Zeichen vor. Die folgende Abbildung zeigt die Dialogbox mit der Einstellung, die markierte Zahl hochzustellen:
Diese Einstellung bestätigen Sie mit „OK“. Das markierte Zeichen erscheint in der gewünschten Form. Die folgende Abbildung zeigt das Ergebnis in der Beispieltabelle:
Auf die beschriebene Art und Weise können Sie einzelne Zeichen nicht nur hoch- bzw. tiefstellen, sondern auch farbig hervorheben, mit einem anderen Schriftschnitt versehen oder größer darstellen.
Tipp: Wenn Sie einzelne Zeichen einer Zelle anders formatiert haben als den Rest der Zelle, können Sie dieses Format nicht mit der Schaltfläche „Format übertragen“ auf andere Zellen anwenden. Wenn Sie – wie im Beispiel die m2 – eine Formatierung mehrmals benötigen, bietet es sich an, die Formatierung einmal vorzunehmen und den Zellinhalt zu kopieren.
Die passende Beispieltabelle können Sie über www.excel-berater-online.de abrufen. Aktivieren Sie das Tabellenblatt „Zeichenformat“ in der Arbeitsmappe TuM_5_10.xls.
Excel 2007
Hotfix gegen Probleme beim Filtern nach Farben
Mit der Einführung der Version 2007 bot Excel erstmals die Möglichkeit, Tabellen nicht nur nach Zellinhalten, sondern auch nach der Hintergrundfarbe zu filtern.
Unlängst wurde ein Fehler im Zusammenhang mit dieser Funktion bekannt. Wenn der entsprechende Zellbereich bedingte Formatierungen enthält, kann es passieren, dass der Filtervorgang mehrere Minuten dauert.
Microsoft hat das Problem in der Knowledge Base dokumentiert und stellt ein Hotfix zur Behebung zur Verfügung.
Sie können es kostenlos über ein Formular anfordern, das Sie unter der folgenden Adresse finden:
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=978388&kbln=enus
Excel 2010
Update für Datei-Validation
Wegen vieler Sicherheitsprobleme mit dem alten binären XLS-Dateiformat wurde in Excel 2010 eine neue Technik zur Prüfung von diesen Dateitypen integriert.
Wenn Sie in der neuesten Excel-Version eine XLS-Datei öffnen, die nicht an einem vertrauenswürdigen Speicherort abgelegt ist, wird sie einer Prüfung unterzogen, die Ungereimtheiten in der Dateistruktur und damit potenzielle Sicherheitsprobleme entdecken soll. Diese Prüfroutine für Office 2010 hat Microsoft nun aktualisiert. Die Updates können Sie kostenlos für die 32-Bit- und die 64-Bit-Version von Office 2010 unter der folgenden Adresse herunterladen:
http://support.microsoft.com/kb/976133
Excel 2002, 2003, 2007
Microsoft schließt sieben Sicherheitslücken
Im Rahmen eines Security Bulletins hat Microsoft auf sieben Sicherheitslücken in den Excel-Versionen 2002, 2003 und 2007 aufmerksam gemacht.
Wie bereits bei vergangenen Lücken droht die Gefahr, dass unbemerkt schädlicher Programmcode beim Öffnen einer manipulierten Excel-Arbeitsmappe ausgeführt werden könnte.
Unter der folgenden Adresse finden Sie weitere Informationen und Links zu den Update-Dateien für die verschiedenen Excel-Versionen:
http://www.microsoft.com/germany/technet/sicherheit/bulletins/ms10017.mspx
Wie immer in vergleichbaren Fällen empfehlen wir Ihnen dringend, die Updates für Ihre Excel-Version zu installieren. Selbst wenn Sie sicher sind, nicht gefährdet zu sein, weil Sie keine unbekannten Dateien öffnen, sind Sie damit auf der sicheren Seite.
