www.xl-faq.de, homepage Eingangsseite / FAQ / Seite 1
Autor: Frank Arendt-Theilen


XLHome-Logo Die Power von Excel® nutzen und anwenden:
Wissen rund um Microsoft® Excel®

FAQ (Frequently Asked Questions) Seite 1

Seitenende
Kompletter Pfad und Dateiname in Fußzeile [7]
Semikolon als Trennzeichen bei CSV-Datei erzwingen [6]
Geburtstagsliste nach Geburtsdatum sortieren [5]
Grafik im Kopfbereich [4]
Letzte Zelle im Tabellenblatt [3]
Berechnung der Kalenderwoche nach DIN 1355 [2]
RGB-Farbwerte der Hintergrundfarbe [1]

zur Seite:  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  10 | 

Index:

 
Frage? [7]
Wie füge ich den kompletten Pfad mit Dateinamen in die Fußzeile des aktiven Tabellenblattes ein?
Das nachfolgende Makro trägt im rechten Bereich der Fußzeile den Pfad und den Dateinamen der aktiven Arbeitsmappe ein:
Sub PfadInFusszeile()
  ActiveSheet.PageSetup.RightFooter = ActiveSheet.Parent.Fullname
End Sub
Leiste
Frage? [6]
Wie kann man Excel dazu zwingen, das Semikolon als Trennzeichen zu verwenden?
Ich möchte einen Excelbereich als CSV-Datei speichern, deren Elemente dann mit einem Semikolon getrennt sind. Führt man die Funktion per Hand aus, funktioniert es. Läßt man das Gleiche mit einem Makro durchführen, werden die Datenfelder mit einem Komma getrennt abgespeichert.

Die folgenden Makros müßen Sie noch an Ihre tatsächliche Umgebung anpassen.

Sub SaveCSV()
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String

Const Pfad As String = "Dein\Pfad"
Const Dateiname As String = "NeuerDateiname"
Const Extension As String = ".CSV"
Const Trennzeichen As String = ";"

  Set Bereich = ActiveSheet.UsedRange

  Open Pfad & Dateiname & Extension For Output As #1

  For Each Zeile In Bereich.Rows
    For Each Zelle In Zeile.Cells
      If InStr(1, Zelle.Text, ";") > 0 Then
        'Zellen, die ein Semikolon beinhalten in Anführungsstriche setzen
        strTemp = strTemp & """" & CStr(Zelle.Text) & """" & Trennzeichen
      Else
        strTemp = strTemp & CStr(Zelle.Text) & Trennzeichen
      End If
    Next
    Print #1, strTemp
    strTemp = ""
  Next

  Close #1
  Set Bereich = Nothing

End Sub

2) Öffnen:
Sub OpenCSV()
  Workbooks.Open FileName:="Lw:\Pfad\Datei.CSV"
End Sub
Leiste
Frage? [5]
Ich möchte eine Geburtstagsliste so sortieren, daß die Geburtstage in der Reihenfolge des laufenden Jahres angezeigt werden. Wie geht das?

Geburtstagsliste

Erstellen Sie, wie in der Abbildung Geburtstagsliste zu sehen, drei zusätzliche Spalten. In Zelle F4 lautet die Formel =TAG(C4), in Zelle G4 =MONAT(C4) und in Zelle H4 =JAHR(C4).
Anschließend markieren Sie den gesamten Datenbereich (hier: B4:H8) und wählen über das Menü DATEN | SORTIEREN | SORTIEREN NACH: Monat, Anschließend: Tag und Zuletzt: Jahr.

Leiste


Frage? [4]
Bei einem Ausdruck über mehrere Seiten soll auf jeder Seite das Firmenlogo im Kopfbereich angezeigt werden. Wie geht das?
Plazieren Sie die Grafik im Kopfbereich des Tabellenblattes. Unter DATEI | SEITE EINRICHTEN | TABELLE markieren sie mit dem Referenzfeld Wiederholungszeilen die betreffenden Zeilen, in denen sich die Grafik befindet.

Leiste
Frage? [3]
Wie kann ich mir die letzte benutzte Zelle im Tabellenblatt mit einem Makro anzeigen lassen?
Mit Hilfe der UsedRange-Eigenschaft wird der Bereich zurückgegeben, der im Tabellenblatt verwendet wurde. Dies schließt auch die Zellen ein, die nur eine Formatierung, (Zahlenformat, Rahmenlinie, Muster usw.) enthalten. Demnach ist die letzte Zelle im benutzen Tabellenbereich identisch mit der letzten Zelle des Bereiches, der durch die Eigenschaft UsedRange zurückgegeben wird.

Makro:
Sub LetzteZelle()
  ActiveSheet.UsedRange. _
    Cells(ActiveSheet.UsedRange.Cells.Count).Select
End Sub
Leiste
Frage? [2]
Bei der Berechnung der Kalenderwoche gibt XL scheinbar ein falsches Ergebnis aus. Wie wird die Kalenderwoche richtig berechnet?
XL berechnet die Kalenderwoche standardmäßig nach amerikanischer Norm. Für Deutschland gilt die internationale Norm ISO 8601 (1973). 1976 wurde festgelegt, dass die Woche mit dem Montag beginnt: DIN 1355 (1974), DIN EN 28601 (1993). Dies bedeutet für die Berechnung der Kalenderwoche:
Der 1. Januar eines Jahres gehört erst dann zur ersten Kalenderwoche, wenn dieser Tag auf einen Montag, Dienstag, Mittwoch oder Donnerstag fällt. Falls der 1. Januar ein Freitag, Samstag oder Sonntag ist, zählt er noch zur letzten Kalenderwoche des vorherigen Jahres. Weiterhin können der 29., 30. und 31.12. eines Jahres schon zur 1. Kalenderwoche des neuen Jahres gehören.

Zur Berechnung der Kalenderwoche nach DIN 1355 kann die folgende VBA-Funktion ab XL8 und die Tabellenblattfunktion eingesetzt werden.

1.) VBA-Funktion:

Kopieren Sie die Funktion in ein Standardmodul der Personl.xls :
Function DINKw(Datum as Date) as Integer
Dim lT as Long
  lT = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
  DINKw= ((Datum - lT - 3 + (WeekDay(lT) + 1) Mod 7)) \ 7 + 1
End Function
Im Tabellenblatt benutzen Sie die Funktion wie folgt.

Beispiel:
A1: 25.11.2001
Formel: =DINKw(A1)
Ergebnis: 47, der 25.11.2001 liegt in der 47. Kalenderwoche des Jahres 2001.

2.) Tabellenblattfunktion:

=KÜRZEN((A1-WOCHENTAG(A1;2)+11-("1/"&JAHR(A1+4-WOCHENTAG(A1;2))))/7)
Die Formel erwartet in Zelle A1 einen gültigen Datumswert.



Im Beispiel liegt der 14.09.2002 in der 37. Kalenderwoche des Jahres 2002.

Leiste
Frage? [1]
Wie kann ich mir die RGB-Farbwerte der 56 Hintergrundfarben ermitteln lassen?
Die herunterladbare, gepackte BAS-Datei rgbwert.zip, 1 KB) listet alle Hintergrundfarben, deren Farbcodes, sowie deren RGB-Farbwerte auf. Nach dem entpacken kann die rgbwert.bas in der VBA-Umgebung über den Menüpunkt DATEI | DATEI IMPORTIEREN (Strg+M) in ein Projekt importiert werden.
Weitergehende, grundsätzliche Informationen zu den Farben und der Farbverwaltung in XL.

Leiste
Seitenanfang

Copyright © 2000 - 2009, by Frank Arendt-Theilen
E-Mail: Frank Arendt-Theilen, theilenf@gmx.de