Dateiname mit Pfad in der Fußzeile
der komplette Pfad wird in der Fußzeile angezeigt
'Der Pfad und Dateiname wird nicht automatisch aktualisiert, wenn
die Mappe erneut unter einem anderen Namen abgespeichert wird. In diesem
Fall das Makro neu aufrufen.
Sub Fußzeile()
ActiveSheet.PageSetup.LeftFooter = ActiveWorkbook.FullName
End Sub
Euro-Symbol unter Excel
wird auch nach der Installation des Euro-Patches nicht gedruckt
haben Sie auch nach der Installation des Euro-Patches immer noch Probleme mit dem Ausdruck, liegt es eventuell an Ihrem Drucker. Folgende Änderung
in der Registry durchführen:
HKEY_Current_User/software/microsoft/office/8.0/excel/microsoftExcel
aufrufen und einen Wert vom Typ DWORD neu eingeben. Dem neu eingegeben
Wert den Namen NoWideTextRendering geben, doppelt anklicken, Hexadezimal
aktivieren und eine 4 eingeben.
Undo-Schritte erhöhen
die vorgegebenen 16 Rücknahm-Schritte beliebig erhöhen
um die rückgängig zu machenden Aktionen zu erhöhen wird
die Registry wie folgt verändert:
unter
HKEY_Current_User\software\microsoft\office\8.0\excel\Microsoft Excel
einen neuen Dword-Wert einfügen - UndoHistory - nennen.
Den Wert in Dezimal mit z.B. 50 eingeben.
Seitennummerierung
nicht mit der Zahl 1 beginnen
Soll der erste Ausdruck z.B. mit der Seitenzahl 10 beginnen, ändern
Sie den Platzhalter in der Kopf-bzw. Fußzeile wie folgt ab:
"&[Seite]+9"
In Excel 2010 funktioniert der Tipp nicht mehr, hier hat Stephan eine neue Lösung "&[&[Seite]+1&]" - Vielen Dank dafür!
Zeilenhöhe in cm
Hier können Sie die exakte Höhe der ausgewählten Zeilen
in cm und nicht wie vorgegeben in Pixel eingeben.
Sub zeilenhoehe()
Dim hoehe As Single, aktuell As Single, text As String, antwort As String
aktuell = Selection.RowHeight / 29.5
text = "Aktuelle Zeilenhöhe: " & Format(aktuell, "###0.00 cm")
& Chr(13) & "Geben Sie die gewünschte Zeilenhöhe für
die aktuelle Zeile oder Markierung in cm ein:"
antwort = InputBox(text, "Neue Zeilenhöhe festlegen", Format(aktuell,
"###0.00"))
If antwort <> "" Then
hoehe = CSng(antwort)
Selection.RowHeight = hoehe * 29.5
End If
End Sub
Spaltenbreite in cm
Dieses Makro übernimmt die Breite der Spalten in cm
Sub spaltenbreite()
Dim breite As Single, aktuell As Single, text As String, antwort As
String
aktuell = (Selection.ColumnWidth + 0.71) / 5.1425
text = "Aktuelle Spaltenbreite: " & Format(aktuell, "###0.00 cm")
& Chr(13) & "Geben Sie die gewünschte Spaltenbreite für
die aktuelle Spalte oder Markierung in cm ein:"
antwort = InputBox(text, "Neue Spaltenbreite festlegen", Format(aktuell,
"###0.00"))
If antwort <> "" Then
breite = CSng(antwort)
Selection.ColumnWidth = -0.71 + 5.1425 * breite
End If
End Sub
Systemdatum bei Änderung
bei Änderung des Tabellenblattes wird automatisch das aktuelle
Systemdatum in die vorgegebene Zelle eingesetzt.
'Systemdatum in Zelle A1 übernehmen
Private Sub Worksheet_Change(ByVal ziel As Excel.Range)
Range("a1") = Date
End Sub
Zellinhalt als Dateiname
dieses Makro übernimmt als Dateiname beim Abspeichern einer Excel-Datei
den Inhalt der vorgegebenen Zelle
'Speichername ist hier z.B. A1 - kann jederzeit
angepaßt werden
Sub dateiname()
ort = Range("a1")
If Len(ort) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf
nicht leer sein!")
Else
ActiveWorkbook.SaveAs FileName:=ort & ".xls"
End If
End Sub
Tabellenblätter sortieren
durch ein Makro werden in einem Excel-Arbeitsblatt sämtliche
Tabellenblätter sortiert.
Sub TabellenblätterSortieren()
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name)
Then
Sheets(j).Move after:=Sheets(j + 1)
End If
Next j
Next i
End Sub
Arbeitsmappenweite Suche
die Suche beschränkt sich nicht nur auf ein Tabellenblatt sondern
über die gesamte Excel-Arbeitsmappe
Sub MappenWeiteSuche()
Dim t As Worksheet, z As Range, SuchW As String, counter As
Integer, ausgabe As String, knopf As Integer
'Zähler null setzen
counter = 0
'Suchbegriff beim Anwender erfragen
SuchW = InputBox("Geben Sie bitte einen Suchbegriff ein.
Groß- oder Kleinschreibung ist dabei unwichtig:", "Eingabe
Suchbegriff", "PC Praxis")
'wurde kein Begriff eingegeben oder "Abbrechen" geklickt, Makro
verlassen
If SuchW = "" Then Exit Sub
'jedes Worksheet (Tabellenblatt) aufrufen
For Each t In Worksheets
'Sheet aktivieren
t.Activate
'z für erstes Auffinden des Suchbegriffes setzen
Set z = t.Cells.Find(SuchW)
'wenn Begriff auf Blatt, dann Adresse merken und Loop
starten
If Not z Is Nothing Then
erste = z.Address
'Schleife: jedes Vorkommen auf Tabellenblatt
Do
z.Activate
counter = counter + 1
'Anwender fragen: Weiter oder abbrechen?
i = MsgBox("Auf diesem Blatt weitersuchen?", vbYesNo +
vbQuestion)
If i = vbNo Then Exit Do
'Nächstes Vorkommen prüfen
Set z = Cells.FindNext(after:=ActiveCell)
Loop Until erste = z.Address
End If
'Nächstes Tabellenblatt aufrufen
Next t
'Mappe durchsucht, Abschlußmeldung vorbereiten und
ausgeben
ausgabe = "Ende der Suche nach " & SuchW & "!" &
Chr(13) & "Der Suchebegriff wurde " & counter & "mal
gefunden!"
If counter = 0 Then knopf = 16 Else knopf = 64
MsgBox prompt:=ausgabe, Buttons:=knopf, Title:="Information"
End Sub
Telefonnummer automatisch
wählen
Wählt die eingetragenen Telefonnummern in einer Excel-Tabelle
automatisch per Doppelklick.
Vorraussetzung: Das Programm 'Wählhilfe' ist installiert.
'Die Bezeichnung "adressen" entspricht dem
Tabellenblatt-Name'
Private Declare Function tapiRequestMakeCall Lib "Tapi32.dll" _
(ByVal Nummer As String, ByVal AppName As String, _
ByVal AnruferName As String, ByVal Kommentar As String) As Long
Sub Auto_open()
Worksheets("adressen").OnDoubleClick = "Telefon"
End Sub
Sub Telefon()
Dim Pos As Integer
Dim Nr, Vorwahl, Suchzeich, TelNr
On Error GoTo fehlerPrüfen
TelNr = ActiveCell.Value
For Vorwahl = 1 To 7
Suchzeich = Mid(ActiveCell, Vorwahl, 1)
If Suchzeich < "0" Or Suchzeich > "9" Then
GoTo umwandeln
Next Vorwahl
umwandeln:
Nr = ActiveCell
Pos = InStr(1, Nr, Suchzeich, 0)
Mid(Nr, Pos, 1) = ")"
Nr = "+49(" + Nr
ActiveCell.Value = Nr
Wählen:
Rückgabewert = tapiRequestMakeCall(Nr, "", "",
"")
ActiveCell.Value = TelNr
fehlerPrüfen:
If Err = 5 Then MsgBox "Es wurde keine gültige Zelle(Tel.-Nummer)
gewählt!" + Chr$(13) + "Beispiele 0123 4567, 0123/4567,
0123-4567 usw."
End Sub
Suchergebnis farbig hervorheben
Das Makro markiert bei Such-Aktionen in Excel die komplette Trefferzeile
und erleichtert so die Zuordnung der Suchergebnisse
Makro des Monats von Ulrich Knoch aus der Zeitschrift
PC-Praxis 7/99
Dieses Makro habe ich zum >
Download<
(1KB) in eine Datei gepackt.
Es wurde davon ausgegangen, daß in Spalte "A:B" gesucht
wird und das Ergebnis vier Spalten breit eingefärbt
wird.
Bitte entpacken und im Visual-Basic-Editor in Excel "Datei
importieren" wählen.
Zellinhalte vertauschen
von Spalten nach Zeilen und umgekehrt durch einfaches kopieren in
Excel97
markieren und kopieren Sie den gewünschen Bereich, gehen
anschließend in eine leere Zelle und wählen 'Inhalte
einfügen'. Bei dem nun geöffneten Dialogfeld darauf
achten, dass 'transponieren' ausgewählt ist.
Maßeinheiten umwandeln
AddIn Manager aufrufen, Analyse-Funktionen
auswählen.
Umwandeln steht zur Verfügung
Formeln in mehreren Zellen
Arbeitsschritte sparen und gleichzeitig eingeben
man markiert die benötigten Zellen, gibt die Formel ein und bestätigt das ganze mit STRG und Return.
Die Formeln werden fortlaufend in den markierten Bereich eingegeben.
Punktdiagramme
mit Cliparts statt mit Punkten anzeigen
kopieren Sie das gewünschte Clipart in die Zwischenablage. Nachdem
Sie das Diagramm aufgerufen haben, markieren Sie einen Punkt und
fügen das Clipart mit Strg+V ein.
Das Clipart wird automatisch für alle Punkte übernommen.