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

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