Zurück zur Homepage Inhaltsverzeichnis FAQ


Eine wirklich umfassende FAQ gibt es bei Hans W. Herber unter http://www.herber.de/xlFAQ/.

  1. Das Eurosymbol wird nicht gedruckt (XL 97)
  2. Abfragen nach automatischer Aktualisierung unterdrücken
  3. Code beim Öffnen einer Arbeitsmappe ausführen
  4. VBA-Code editieren und ausführen
  5. Kommentare löschen
  6. Wo werden Symbolleisten gespeichert?
  7. Wo werden Vorlagen gespeichert?
  8. Letzte benutzte Zelle
  9. Das Öffnen von Excel-Dateien aus dem Explorer klappt nicht
  10. Karl Klammer killen
  11. Jede zweite Zeile Farbig
  12. Wochenende und Feiertage farbig
  13. Feiertagsberechnung
  14. Schaltjahr feststellen
  15. Liste nach Geburtstagen sortieren
  16. Kalenderwoche
  17. Drucken als Postscript
  18. Formel, um Quersumme einer Zahl zu berechnen
  19. Ersatz für SUMMEWENN bei mehreren Suchkriterien
  20. Benutzerdefinierte Konstante
  21. Text ausrechnen
  22. Zeilenhöhe und Spaltenbreite in Zentimeter ermitteln
  23. Probleme beim Öffnen von CSV - Dateien aus dem Explorer und per Makro
  24. Ein Makro über Buttonklick gestartet, will nicht
  25. Excel-Absturz beim Aufruf der Optionen
  26. Schwarzer Balken anstatt Eurozeichen
  27. Binärzahl in Dezimalzahl umwandeln
  28. Dezimalzahl in Binärzahl umwandeln
  29. Zahlenformat, Punkt an beliebiger Stelle
  30. Probleme mit Tastenkombinationen
  31. Symbolleisten und Titelleiste fehlen
  32. Unter Excel 2002 kann kein Com Add-In geladen werden
  33. Farben in Zellen sind nur in der Seitenansicht sichtbar

 

Das Eurosymbol wird nicht gedruckt (XL 97)
Durch den Euro-Patch wird das Eurosymbol in folgenden Schriftarten verfügbar.
Arial, Courier New, Times New Roman. Nur dann wird das Eurosymbol auch angezeigt und gedruckt. Leider verwenden verschiedene Drucker interne Schriftarten, die das Eurosymbol nicht enthalten. Man sollte dann nachschauen, ob der Druckertreiber über die Einstellung
"TrueType als Bitmap-Schriftarten laden" oder "True Type als Grafik drucken"
verfügt, was bei manchen HP-Druckern der Fall sein soll. Diese Optionen wählen, dazu eventuell einmal einen anderen Treiber probieren, dann klappts auch mit dem Eurosymbol.
Inhalt

Abfragen nach automatischer Aktualisierung unterdrücken.
Beim Öffnen einer Arbeitsmappe werden sie laufend mit der Meldung "Diese Datei enthält automatische Verknüpfungen zu Informationen in einer anderen Arbeitsmappe. etc. ..." genervt, obwohl sie das nie wollen?
Einfach ins Workbook_Open Ereignis in "DieseArbeitsmappe" folgende Zeile
Application.AskToUpdateLinks = False 
Inhalt 

Code beim Öffnen einer Arbeitsmappe ausführen
 Wenn sie beliebigen Code beim Öffnen einer Datei ausführen wollen, benutzen sie das Ereignis Workbook_Open in "DieseArbeitsmappe". Dazu gehen sie folgendermaßen vor:
Haben sie Excel geöffnet, drücken sie ALT/F11. Es öffnet sich die VBA Entwicklungsumgebung (IDE). Links oben sollte jetzt der Projektexplorer sichtbar sein, wenn nicht, unter Ansicht/Projekt-Explorer einblenden. Dort sollten sie jetzt außer den Tabellenblättern einen Eintrag "DieseArbeitsmappe" finden. Ein Doppelklick darauf, und rechts daneben öffnet sich das Codefenster von "DieseArbeitsmappe". Darüber finden sie zwei Dropdownfelder. Im Linken wählen sie das Objekt aus, in dem Fall Workbook. Im Rechten wählen sie dann das gewünschte Ereignis, also Workbook_Open. Der Prozedurrumpf wird automatisch erzeugt
Private Sub Workbook_Open()
        'Hier muss ihr Code hin
End Sub
Zwischen diesen zwei Zeilen kann Code eingefügt werden, der dann beim Eintritt des Ereignisses abgearbeitet wird.
Ähnlich wird vorgegangen, wenn sie ein Ereignis eines Tabellenblattes wie beispielsweise Worksheet_SelectionChange benutzen wollen. Dann Doppelklicken sie im Projektexplorer auf das gewünschte Tabellenblatt, wählen das Objekt Worksheet und das zugehörige Ereignis aus.
Inhalt 

VBA-Code ausführen
Code kann in Klassenmodulen und in normalen Modulen ausgeführt werden.
Um erst einmal in die Entwicklungsumgebung (IDE) von Excel zu kommen, gehen sie wie folgt vor.
Haben sie Excel geöffnet, drücken sie ALT/F11. Links oben sollte jetzt der Projektexplorer sichtbar sein, wenn nicht, unter Ansicht/Projekt-Explorer einblenden. Im Projektexplorer haben sie die Möglichkeit, auf vorhandene Objekte, Module, Formulare und Klassenmodule zuzugreifen. Ein Doppelklick darauf und im Fenster rechts daneben kann der Code editiert werden. Unter dem Menüpunkt  Einfügen haben sie die Möglichkeit, eigene Module, Formulare und Klassenmodule hinzuzufügen.
Module
Hierhin gehören alle Funktionen und Prozeduren, die nicht Tabellenspezifisch sind. Auch benutzerdefinierte Funktionen, die als Tabellenfunktion benutzt werden, müssen hier als Public Function hinein. Im Klassenmodul eines Tabellenblatts funktioniert das nicht.
Klassenmodule
Damit haben sie die Möglichkeit, eigene Objekte mit Eigenschaften und Methoden zu erzeugen. Alle vorhandenen Objekte wie Tabellenblätter, Arbeitsmappen, User-Forms etc. sind übrigens Klassen mit Eigenschaften, Methoden und Ereignissen.
Formulare
Ins Klassenmodul der Klasse MSForms gehört Code, der im direkten Zusammenhang mit der User-Form steht. Dort können sie auch auf die Ereignisse der User-Form und der darauf platzierten Steuerelemente zugreifen.
Klassenmodule der Tabellenblätter
In diesem Klassenmodul können sie auf die Ereignisse der Tabellenblätter und der darauf platzierten Steuerelemente zugreifen. Hier sollten nur Prozeduren und Funktionen hin, die in direktem Zusammenhang mit diesen Tabellenblatt stehen.
Inhalt 

Kommentare löschen
Um alle Kommentare in allen Tabellenblättern zu löschen, folgende Prozedur

Public Sub DelComments()
Dim MyComment As Comment
Dim MyWs As Worksheet
For Each MyWs In ActiveWorkbook.Worksheets
  For Each MyComment In MyWs.Comments
    MyComment.Delete
  Next
Next
End Sub 
Inhalt   

Wo werden Symbolleisten gespeichert?
Symbolleisten werden in Dateien mit der Endung xlb gespeichert, meist in der Form excel8.xlb oder Usename8.xlb (je nach Version). Bei mir also Schwimmer8.xlb, da ich Office 97 (Versionsnummer 8) besitze. Diese Dateien sind im Windows-Verzeichnis zu finden.
Inhalt  

Wo werden Vorlagen gespeichert?
In der persönlichen Arbeitsmappe PERSONL.xls im xlStart-Verzeichnis oder in einer anderen Arbeitsmappe darin. Achten sie darauf, dass keine anderen Mappen in diesen Verzeichnissen sind, alle Mappen darin werden ausgeblendet gestartet. Ein beliebter Fehler sind falsch gesetzte Pfade unter Optionen/Allgemein/Zusätzlicher Startordner.
Inhalt  

Letzte benutzte Zelle
Es ist manchmal zum Verzweifeln. Man hat Zellen gelöscht, aber mit Strg/Ende kommt man immer noch zu der Zelle, die man vorher gelöscht hat. Auch die Zeile
Worksheets("Tabelle1").Range("A65536").End(xlUp).Select
findet diese Zelle noch.
Folgender Code macht dem ein Ende:
Sub Anpassen()
Dim a, b
  For Each a In Sheets
      b = a.UsedRange.Rows.Count
  Next
End Sub
Inhalt  

Das Öffnen von Excel-Dateien aus dem Explorer klappt nicht
Drei Möglichkeiten, um das zu beheben
1)In Windows unter Start/Ausführen die Zeile
[LW:\Pfad\]excel.exe /unregserver
eingeben und anschließend dann
[LW:\Pfad\]excel.exe /regserver.
2)Im Explorer unter Ansicht/Ordneroptionen/Dateitypen nach
Exceltabellen suchen.
"Bearbeiten" anklicken, "Open" markieren und "Bearbeiten".
 Hier müssen unter "DDE-Nachricht verwenden" Gänsefüße um "%1"
sein: [open("%1")]
3)Unter hkey_classes_root\excel.sheet.8\shell\open\command (Versionsabhängig)
sollte stehen: "C:\Programme\Microsoft Office\Office\excel.exe" /e
Falls hier %1 auftaucht, löschen.
Inhalt  

Karl Klammer killen
Jeder kennt sicher die nervige Büroklammer die sich windet, kratzt und immer dann auftaucht, wenn man sie nicht braucht. Ein Klick mit der rechten Maustaste auf die Klammer, Optionen, Häckchen bei
"Den Office-Assistenten verwenden" wegdrücken, fertig.
Und laut Thomas Ramel kann man den ganz erschlagen.
Zitat:
Windows-Systemsteuerung --> Software --> Microsoft Office 2000 (bei mir)
--> [Ändern] --> Features hinzufügen/entfernen --> 'Office-Tools'
doppelklicken --> 'Office-Assistent' anklicken --> 'X Nicht verfügbar'
(kriegt ein rotes Kreuz) --> [Jetzt aktualisieren]

Inhalt  

Jede zweite Zeile Farbig
Bereich markieren
Format/Bedingte Formatierung - Formel ist:   =REST(ZEILE();2)
Format festlegen
Inhalt  

Wochenende und Feiertage farbig
Bereich markieren
1. markierte Zelle beispielsweise A3
Format/Bedingte Formatierung - Formel ist:
Sonntag
=WOCHENTAG(A3)=1
Samstag
WOCHENTAG(A3)=7
Feiertag. Liste mit Namen Feiertagsliste (Ev. unter Zuhilfenahme der Osterformel) erstellen
=SVERWEIS(A3;Feiertagsliste;1;0)=A3
Format festlegen
Einfacher Kalender zum downloaden
Inhalt  

Feiertagsberechnung
Viele Feiertage richten sich nach dem Ostersonntag.
Hier eine Formel zum Berechnen (Jahr in C27, alles in eine Zeile):
=AUFRUNDEN((("21.3."&C27)+REST(204-11*REST(C27;19);30))/7-
  (ABS(ABS(C27-2015)-47,5)=13,5);)*7+1

Hier eine Funktion:
Function Ostern(J As Integer) As Date'1900-2100
    Ostern = CDate(Int((Abs(Abs(J - 2015) - 47.5) = _
                    13.5) + 0.9 + (DateSerial(J, 3, 21) + _
                    ((204 - 11 * (J Mod 19)) Mod 30)) / 7) * 7 + 1)
End Function

Ein Makro zum Markieren von Wochenenden und Feiertagen
Sub WE_und_FeiertageMarkieren_3()
Dim zelle As Range, Bereich As Range
Set Bereich = Range("A1:C31") 'Beliebig
Application.ScreenUpdating = False
Bereich.Borders(xlDiagonalUp).LineStyle = xlNone
For Each zelle In Bereich
    If IsDate(zelle) Then
        If Not IsWerktag(CDate(zelle)) Then
            With zelle.Borders(xlDiagonalUp)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = xlAutomatic
            End With
        End If
    End If
Next
Application.ScreenUpdating = True
End Sub

Private Function IsWerktag(a As Date) As Boolean
Select Case WeekDay(a)
    Case vbSaturday
    Case vbSunday
    Case Else
        If Not IsFeiertag(a) Then IsWerktag = True
End Select
End Function

Private Function IsFeiertag(datum As Date) As Boolean
Dim Ostersonntag As Date, zähler&
Static Feiertage(), Jahr%
If Year(datum) <> Jahr Then
    Jahr = Year(datum)
    Ostersonntag = CDate(Int((Abs(Abs(Jahr - 2015) - 47.5) = _
            13.5) + 0.9 + (DateSerial(Jahr, 3, 21) + _
            ((204 - 11 * (Jahr Mod 19)) Mod 30)) / 7) * 7 + 1)
    ReDim Feiertage(1 To 13)
    Feiertage(1) = DateSerial(Jahr, 1, 1)
    Feiertage(2) = Ostersonntag - 2 'Karfreitag
    Feiertage(3) = Ostersonntag + 1 'Ostermontag
    Feiertage(4) = Ostersonntag + 39 'Himmelfahrt
    Feiertage(5) = Ostersonntag + 49 'Pfingstsonntag
    Feiertage(6) = Ostersonntag + 50 'Pfingstmontag
    Feiertage(7) = DateSerial(Jahr, 5, 1) 'Maifeiertag
    Feiertage(8) = DateSerial(Jahr, 10, 3) 'Tag_der_Einheit
    Feiertage(9) = DateSerial(Jahr, 12, 25) '1._Weihnachtsfeiertag
    Feiertage(10) = DateSerial(Jahr, 12, 26) '2. Weihnachtsfeiertag
    'Wenn Tarifvertrag es vorsieht
    Feiertage(11) = DateSerial(Jahr, 12, 24) 'Heiligabend
    Feiertage(12) = DateSerial(Jahr, 12, 31) 'Sylvester
    'Nicht überall
    'Mittwoch zwischen dem 16. und 22.11
    Feiertage(13) = DateSerial(Jahr, 11, 22) - _
        (DateSerial(Jahr, 11, 18) Mod 7) 'Böse-Bube-Tag
End If
For zähler = 1 To 13
    If datum = Feiertage(zähler) Then IsFeiertag = True
Next
End Function
Inhalt  

Schaltjahr feststellen
=MONAT(DATUM(JAHR(A1);2;29))=2
Jahr in A1
Inhalt   

Liste nach Geburtstagen sortieren
Manchmal steht man vor dem Problem, eine Geburtstagsliste zu erstellen. Keine Sortierung passt aber. Abhilfe schafft eine selbstgestricktes Sortierprozedur, die aber für Anfänger nicht so einfach zu realisieren ist Leichter geht es mit einer Hilfsspalte, die man ja nachher wieder löschen kann. Wenn beispielsweise in der Spalte A das Geburtsdatum steht, und man hat als Spalte B eine Hilfsspalte eingefügt, in B1 folgende Formel
=Monat(A1)+Tag(A1)/100
und mit Autoausfüllen die anderen Zellen dieser Spalte mit der Formel füllen. Danach nach Spalte B sortieren und diese wieder löschen.
Inhalt

Kalenderwoche
Die eingebauten Funktionen von Excel liefern falsche Werte. Auch manch andere, oft gepostete Funktion rechnet zumindestens in manchen Jahren flasch.
Für den Geltungsbereich der Europäischen Norm EN 28601 (DIN EN 28601, DIN1355 ) unter deutschen Systemeinstellungen sollten folgende Funktionen richtige Werte liefern:

Function Kalwoche(Tag)
    Kalwoche = (DatePart("ww", Tag, 2, 2) = 53 _
    And (Day(Tag) >= 29) And Tag Mod 7 = 2) _
    * 52 + DatePart("ww", Tag, 2, 2)
End Function

Function MontagDerWoche(Woche As Integer, Jahr As Integer) As Date
Dim T As Date
T = DateSerial(Jahr, 1, 1) + (7 - WeekDay(DateSerial(Jahr, 1, 1), 3))
MontagDerWoche = T + 7 * (Woche - (((DatePart("ww", T, 2, 2) = 53) _
And (Day(T) >= 29) And (WeekDay(T, 2) = 1)) * 52 + DatePart("ww", T, 2, 2)))
End Function

oder viel kürzer von Peter Dorigo

Function DatumVonKW(Jahr, KW, Wochentag) As Date
  Dim KND As Date
  KND = DateSerial(Jahr, 1, -3)
  DatumVonKW = KND + 7 * KW - WeekDay(KND, 2) + Wochentag
End Function

Inhalt 

Drucken als Postscript
Einfach einen Postscriptdrucker (treiber) installieren, als Anschluß Datei wählen und drucken. Die Dateiendung muss dann nur  noch von .prn nach .PS geändert werden.
Inhalt  

Formel, um Quersumme einer Zahl zu berechnen
Folgendes in eine Zeile als Arrayformel:
=SUMME(WENN(TEIL($A$1;ZEILE(D1:D15);1)="";0;TEIL($A$1;ZEILE(D1:D15);1))*1)
Abschließen mit Strg-Shift-Enter.
Wenn alles richtig ist, erkennst man geschweifte Klammern um die Formel. Die Zahl, aus der die Quersumme gebildet wird, steht in A1.
Inhalt  

Ersatz für SUMMEWENN bei mehreren Suchkriterien
Summe bilden, wenn Wert zwischen 50 und Hundert:
=SUMME((A1:A20>49)*(A1:A20<101)*(A1:A20)) 
Summe Spalte C bilden, wenn Wert in Spalte A>49 und Wert in Spalte B<101
=SUMME((A1:A20>49)*(B1:B20<101)*(C1:C20))  
Als Matrixformel ohne Strg, Shift und Return
=SUMMENPRODUKT((A1:A20>49)*(B1:B20<101)*C1:C20)

Noch ein Bleistift, was man mit Array- bzw. Matrixformeln anfangen kann ;-)
Eine Frage im Usenet: Wie veranlasse ich Excel97 dazu, den Abstand einer Leiter (vom unteren Ende waagerecht zur Wand) von 7m Länge zu errechnen, wenn dazwischen eine Kiste in Würfelform mit genau 1m Kantenlänge steht. Diese Kiste steht mit dem Rücken ebenfalls hart an der Wand.
=Kantenlänge/TAN((SUMME((ABS(Kantenlänge/(Leiterlänge-(Kantenlänge/(SIN((ZEILE
(A1:A9000)/100)*(PI()/180)))))-COS((ZEILE(A1:A9000)/100)*(PI()/180)))
<0,0001)*ZEILE(A1:A9000))/100)*(PI()/180))+Kantenlänge

Die Formeln müssen als Arrayformeln eingegeben werden, das heißt die Eingabe der Formel muß mit Strg, Shift und Return abgeschlossen werden. Erkennbar ist das an den geschweiften Klammern, wenn alles richtig war.
Inhalt   

Benutzerdefinierte Konstante
Um in Formeln benutzerdefinierte Konstanten zu verwenden, folgendermaßen vorgehen.
Beispielsweise soll E0 die Zahl 8,85E-12 sein. Unter Einfügen/Namen/Festlegen/Name wird E0 eingegeben, bei "Bezieht sich auf" wird die Konstante eingegeben: =8,85E-12
Dann OK anklicken. Jetzt kann in einer Formel die Konstante benutzt werden.
Inhalt

Text ausrechnen
Um einen Text in der Form 1+2-3*5 auszurechnen, folgende Funktion in ein Modul:
Public Function Ausrechnen(Zelltext As String) As Double
On Error Resume Next
  Application.Volatile
  Ausrechnen = Evaluate(Zelltext)
End Function
In A1 den Text 1+2-3*5, in B1die Formel =Ausrechnen(A1)
Inhalt

Zeilenhöhe und Spaltenbreite in Zentimeter ermitteln
Folgende zwei Formeln ermitteln diese Werte. Eingesetzt als Tabellenfunktion wird nach einer Änderung der Spaltenbreite oder der Zeilenhöhe nicht automatisch neu berechnet. Erst die Änderung einer Zelle oder das Anstoßen den Berechnung mit F9 berechnet neu.

 Public Function SBreite(MyBereich As Range) As Double
    Application.Volatile
    SBreite = MyBereich.Cells(1, 1).Width / _
        Application.CentimetersToPoints(1)
End Function

Public Function ZHöhe(MyBereich As Range) As Double
    Application.Volatile
    ZHöhe = MyBereich.Cells(1, 1).Height / _
        Application.CentimetersToPoints(1)
End Function
Inhalt 

Öffnen von CSV - Dateien 
CSV - Dateien sind Comma-Separated-Files. In Deutschland wird das Komma aber als Dezimaltrennzeichen benutzt und fällt somit als Listentrennzeichen flach. In .de ist das Listentrennzeichen üblicherweise das Semikolon. Speichert man über das Menü eine Excel-Datei als CSV ab, werden die jeweiligen Ländereinstellungen berücksichtigt, daß heißt, Dezimaltrennzeichen ist das Komma und Listentrennzeichen das Semikolon. Über den Dialog kann man diese Datei auch problemlos öffnen.
Wird nun diese Datei per Makro, oder durch Doppelklick im Explorer geöffnet, werden die englischen Einstellungen benutzt und die Daten sind in Excel unbrauchbar. Umbenennen in eine Datei mit der Endung .txt oder das Ändern der Ländereinstellungen kann Abhilfe schaffen.
Wird die .CSV-Datei über ein Makro erstellt, werden die englischen Dezimal- und Listentrennzeichen benutzt, die dann zwar per Makro oder Doppelklick geöffnet werden kann, aber nicht mehr vernünftig über den Öffnen-Dialog.
Ina Röhr von Microsoft Services hat jetzt wenigstens für den Doppelklick eine ganz einfache Lösung gepostet.
Um eine
Deutsche CSV-Datei per Makro, Doppelklick und Dialog zu öffnen, muss einfach folgender Registryeintrag geändert werden:
HKEY_CLASSES_ROOT\Excel.CSV\shell\Open\ddeexec
dieser Eintrag
    [open("%1")]
durch diesen ersetzen:
    [öffnen("%1")]
Das Ganze vorher und nachher als .reg-Datei exportiert und man kann durch einen Doppelklick aus dem Explorer einfach zwischen diesen Einstellungen umschalten. Das Umschalten ist notwendig, wenn eine englische CSV-Datei geöffnet werden soll. Nur dann kann man durch einen Doppelklick im Explorer diese Datei öffnen. Ein Öffnen per Makro oder Dialog klappt nur bei geänderter Ländereinstellung oder durch zeilenweises Einlesen, die Registryänderung hilft da auch nicht weiter.
Dann kann man das so probieren:

Sub CSVEnglish()
Dim Zeileninhalt$, dateiname$, Zieltabelle$
Dim CSVArray, Zeile&
dateiname = "c:\Eigene Dateien\test1.csv"
Zieltabelle = "Tabelle2"
If Dir$(dateiname) = "" Then Exit Sub
Application.ScreenUpdating = False
With Sheets(Zieltabelle)
    .Cells.ClearContents
    Open dateiname For Input As #1
        Do While Not EOF(1)
            Line Input #1, Zeileninhalt
            Zeile = Zeile + 1
            CSVArray = SplitEngl(Zeileninhalt)
            .Range(Cells(Zeile, 1), Cells(Zeile, _
            UBound(CSVArray))) = CSVArray
        Loop
    Close
End With
Application.ScreenUpdating = True
End Sub


Function SplitEngl(Zeile As String) As Variant
Dim a(), Wert, Spalte
Zeile = Zeile & ","
Do While InStr(1, Zeile, ",") <> 0
    Spalte = Spalte + 1
    ReDim Preserve a(1 To Spalte)
    Wert = Left$(Zeile, InStr(1, Zeile, ",") - 1)
    If IsNumeric(Wert) Then
        a(Spalte) = Val(Wert)
    Else
        a(Spalte) = Wert
    End If
    Zeile = Right$(Zeile, Len(Zeile) - InStr(1, Zeile, ","))
Loop
SplitEngl = a
End Function

Inhalt 

 

Makro funktioniert einwandfrei, solange es nicht über einen Klick auf einen Button gestartet wird!
Die häufigste Fehlerursache ist die Eigenschaft TakeFokusOnKlick, die leider defaultmäßig auf  True gestellt ist. Einfach die Eigenschaft auf False setzen und schon klappert es.

Inhalt 

Excel-Absturz beim Aufruf der Optionen
In den meisten Fällen ist der Pfad zum Standardarbeitsordner zu lang. Ab ca. 50 Zeichen kann es Schwierigkeiten geben. Der Pfad ist in der Registry unter HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\MicrosoftExcel\DefaultPath gespeichert. Entweder dort den Pfad ändern, oder den Schlüssel umbenennen. Nach dem Neustart von Excel wird der Schlüssel neu angelegt und der Defaultwert gesetzt.

Inhalt 

Schwarzer Balken anstatt Eurozeichen 
Das Euro Zeichen wird leider erst ab einer bestimmten Größe dargestellt. Ist die Schrift kleiner, wird die Systemfont benutzt, die an der Position des Eurozeichens einen schwarzen Balken enthält.
Abhilfe kann wieder einmal eine Modifikation der Registry schaffen. Unter dem Schlüssel
HKEY_CURRENT_USER\Software\Microsoft\Office\Versionsnummer\Excel\Options
oder bei XL 97
HKEY CURRENT USER\Software\Microsoft\Office\8.0\Excel\Microsoft Excel
muss ein neuer Schlüssel angelegt werden. Der Name soll "FontSub" lauten und der Typ muss DWORD sein. Der Wert wird auf 0 gesetzt und die Basis auf Dezimal. Wie immer beim Arbeiten mit der Registry, vorher unbedingt sichern.

Inhalt  
 

Binärzahl in Dezimalzahl umwandeln
Um eine Binärzahl in eine Dezimalzahl umzuwandeln, kann man die Funktion BinInDez benutzen. Bei größeren Zahlen ist aber schluss. Hier eine Funktion, die auch noch bei ganz großen nicht vorzeichenbehafteten Zahlen funzt.

Public Function Bin2GanzzDec(Binwert As String) As Currency
Dim i As Long
On Error Resume Next
For i = Len(Binwert) To 1 Step -1
    Select Case Mid(Binwert, i, 1)
        Case "1"
            Bin2GanzzDec = Bin2GanzzDec + 2 ^ (Len(Binwert) - i)
        Case "0", "'"
        Case Else
            Bin2GanzzDec = -1: Exit For
    End Select
Next
End Function

Inhalt  
 

Dezimalzahl in Binärzahl umwandeln
Um eine Dezimalzahl in eine Binärzahl umzuwandeln, kann man die Funktion DezInBin benutzen. Bei größeren Zahlen ist aber schluss. Hier eine Funktion, die auch noch bei ganz großen nicht vorzeichenbehafteten Zahlen funzt.

Public Function UnsignedDez2Bin(DezWert As Currency) As String
Dim i As Currency, k As Currency
Dim m As Currency, n As Currency, x As String
m = &H1000000
k = Int(DezWert / m)
n = DezWert - m * k
Do
    If n And 2 ^ i Then
        x = "1" & x
    Else
        x = "0" & x
    End If
    i = i + 1
    If 2 ^ i > n Then
        If k <> 0 Then x = UnsignedDez2Bin(k) & x
        Exit Do
    End If
Loop
UnsignedDez2Bin = x
End Function 

Inhalt  
 

Zahlenformat, Punkt an beliebiger Stelle
Sie wollen ein Zahlenformat mit einem Punkt, beispielsweise an jeder zweiten Stelle? Das Zahlenformat 00.00.00.00.00 liefert aber nicht das gewünschte Ergebnis?
Probieren Sie es mal so: 00\.00\.00\.00\.00

Inhalt  
  

 

Die Tastenkombinationen STRG+Shift+Pos1 und  STRG+Shift+Ende funktionieren nicht mehr?
Unter Extras/Optionen/Umsteigen den Haken bei alternativen Bewegungstasten rausnehmen.

Inhalt  
 

Symbolleisten und Titelleiste fehlen
Im Menü Ansicht auf Ganzer Bildschirm klicken. Ist kein Menü da, die Tastenkombination Alt/F11 drücken, und im Direktfenster Application.DisplayFullScreen = False eingeben

Inhalt  
 

Unter Excel 2002 kann kein Com Add-In geladen werden
Im Menü steht der Com Add-In Manager nur nicht zur Verfügung. Unter Extras/Anpassen/Befehle/Extras den Befehl COM-Add-Ins packen, und in ein Menü ziehen.

Inhalt  
 

Farben in Zellen sind nur in der Seitenansicht sichtbar
Unter Systemsteuerung/Eingabehilfen nachschauer, ob Kontrast aktiviert ist.

Inhalt