Month: May 2012

doppelmoppelampel

die stadt frankfurt wird sich was dabei gedacht haben. viele jahre lang hing da eine ampel… jetzt sinds zwei uebereinander…

Share:
Tagged

dem einen nicht lang genug und dem anderen zu lang

per passwortrichtlinie bekommt man beim einen system ein langes passwort aufgezwaengt, und ein anderes system ist damit ueberfordert. single-sign-on waer mal was tolles… aber “das kostet ja nur geld” 😉

weil er es kann oder weil er es nicht besser kann?

braucht der herr ferrari nun zwei parkplaetze, weil er es sich leisten kann oder weil er nicht parken kann?

Share:
Tagged

excel: kalender mit bedingten formatierungen (in vba)

vor langer zeit hab ich schonmal einmal einen kalender mit bedingten formatierungen in excel gebastelt. jetzt habe ich das mal mit vba gemacht… that’s it (eine von 100000 moeglichkeiten in quick & dirty):

Option Explicit

Sub Kalender()
   
    'Variablen deklarieren
    Dim MyStartDate As Date
    Dim MyEndDate As Date
    Dim MyTempDate As Date
    Dim OffsetX As Integer
    Dim OffsetY As Integer
    Dim BGWE As Integer
    Dim BGKW1 As Integer
    Dim BGKW2 As Integer
    Dim MyTempKW As Integer
    Dim ZĂ€hler As Integer
    Dim MyWorksheet As String
    Dim KWBackgrund As Integer
    Dim MyHeadLine As Variant
    Dim i As Integer

    'Start- und Endedatum setzen; möglich mit verschiedenen Schreibweisen
    MyStartDate = "01. Mai 2012"
    MyEndDate = "31.01.2014"
    'Tabellenblatt fĂŒr den Kalender
    MyWorksheet = "Tabelle1"
    'in welcher Zeile soll der Kalender beginnen?
    OffsetY = 1
    'in welcher Spalte soll der Kalender beginnen?
    OffsetX = 1
    'Hintergrundfarbe fĂŒr Wochenende
    BGWE = 15
    'Hintergrundfarbe fĂŒr KW im Wechsel
    BGKW1 = 0
    BGKW2 = 16
    'Überschriften
    MyHeadLine = Array("Datum", "Tag", "KW")
    
    'Inhalt aller Zeilen löschen
    Rows("1:65536").ClearContents
    'Alle Formatierungen löschen
    Cells.ClearFormats

    'Überschriften
    For i = 0 To UBound(MyHeadLine)
        Worksheets(MyWorksheet).Cells(OffsetY, OffsetX + i).Value = MyHeadLine(i)
        Worksheets(MyWorksheet).Cells(OffsetY, OffsetX + i).Font.FontStyle = "Fett"
    Next
      
    
    'Kalender ausgeben
    For ZĂ€hler = 0 To DateDiff("d", MyStartDate, MyEndDate)
    
        MyTempDate = DateAdd("d", ZĂ€hler, MyStartDate)
        
        'Wochenende grau Markieren
        If Format(MyTempDate, "DDD") = "Sa" Or Format(MyTempDate, "DDD") = "So" Then
            Worksheets(MyWorksheet).Cells(1 + ZĂ€hler + OffsetY, OffsetX + 1).Interior.ColorIndex = BGWE
        End If
        
        'Farbwechsel fĂŒr die KW
        KWBackgrund = IIf(kw_nach_din(MyTempDate) And 1, BGKW1, BGKW2)
        Worksheets(MyWorksheet).Cells(1 + ZĂ€hler + OffsetY, OffsetX + 2).Interior.ColorIndex = KWBackgrund

        'aktuellen Tag rot Markieren
        If MyTempDate = Date Then
            Worksheets(MyWorksheet).Range(Cells(1 + ZĂ€hler + OffsetY, OffsetX), Cells(1 + ZĂ€hler + OffsetY, OffsetX + 2)).Interior.Color = vbRed
        End If
        
        'erste Spalte mit Datum
        Worksheets(MyWorksheet).Cells(1 + ZĂ€hler + OffsetY, OffsetX).Value = MyTempDate
        
        'zweite Spalte mit Wochentag
        Worksheets(MyWorksheet).Cells(1 + ZĂ€hler + OffsetY, OffsetX + 1).Value = Format(MyTempDate, "DDD")
        
        'dritte Spalte mir KW (aber nur am ersten Tag der KW ausgeben)
        If MyTempKW <> kw_nach_din(MyTempDate) Then
            Worksheets(MyWorksheet).Cells(1 + ZĂ€hler + OffsetY, OffsetX + 2).Value = kw_nach_din(MyTempDate)
            MyTempKW = kw_nach_din(MyTempDate)
        End If
        
    Next ZĂ€hler
    
End Sub


Function kw_nach_din(datum As Date) As Byte
 Dim kw As Date
 kw = 4 + datum - Weekday(datum, 2)
 kw_nach_din = (kw - DateSerial(Year(kw), 1, -6)) \ 7
End Function

das ergebnis ist vergleichbar mit dem von damals:

excel: “Argumenttyp ByRef unvertrĂ€glich”

vba und die variablendeklaration… au weia. diese fehlermeldung kommt sicher jedem mal unter, der sich etwas mit vba beschaeftigt.

so hat man das mal gelernt mit der mehrfachdeklaration von variablen:

'Variablen deklarieren
Dim MyStartDate, MyEndDate, MyTempDate, MyDate As Date

nun z.b. eine funktion, welche als uebergabeparameter ein datum erwartet. wenn man dieser funktion nun die mit einem datum befuellten variable “MyTempDate” uebergibt, bekommt man die oben abgebildete fehlermeldung. und warum?

dazu muss man wissen, dass vb alle variablen, die nicht explizit mit einem bestimmten datentyp deklariert wurden, als “variant” deklariert. das tolle deklarieren von mehreren variablen in einer zeile funktioniert naemlich garnicht! dann hat ist der typ der o.g. variable “MyTempDate” naemlich “variant”.
um dem problem aus dem weg zu gehen, sollte man einfach alle variablen einzeln deklarieren. ist mehr arbeit, braucht mehr platz… aber funktioniert.

'Variablen deklarieren
Dim MyStartDate As Date
Dim MyEndDate  As Date
Dim MyTempDate As Date
Dim MyDate As Date

meine favoriten

von der kaffeeroesterei laier in offenbach… italienischer espresso und samba espresso:

…ich werde mir gleich noch einen davon basteln 😉

fachwerkhaus basteln teil 3

bei freunden habe ich am samstag und sonntag “aufm bau” geholfen. welch arbeit dahinter steckt, habe ich schonmal berichtet. diesmal mussten dielen rausgerissen, die alte schuettung entfernt, kanthoelzer montiert und ausgerichtet und neue schuettung eingefuellt werden. die neue schuettung besteht aus saegespaenen, kalk, sand und wasser.

und heute tut mir wieder alles weh 😉

Share:
Tagged

vmware fusion kaputt nach dem osx update auf 10.7.4

nach dem update auf osx 10.7.4 habe ich beim starten einer virtuellen maschine mit vmware (3.1.1) folgende fehlermeldungen bekommen:

KernelzonengrĂ¶ĂŸe können nicht abgerufen werden.

Initialisierung des MonitorgerÀts fehlgeschlagen.

Kein gĂŒltiger Peer-Prozess zum Herstllen der Verbindung gefunden.

ein update von vmware fusion auf die version 3.1.4 brachte die erhoffte loesung des problems…

ein haeuschen fuer den av kram

so.. ich habe wieder ein bischen gewerkelt am wochenende. der av kram im wohnzimmer sollte ein neues und massgechneidertes zuhause bekommen. also nix wie hin zum baumarkt des vertrauens und ein paar 18mm multiplex brettchen aus birke zuschneiden lassen. der mann beim zuschnitt war mir gleich symphatisch, denn als er die abmessungen auf meinem zettel gesehen hat, fragte er: “wird das ein 19 zoll rack?”. sehr guter mann 😉
naja.. nicht ganz 19 zoll rack, aber ungefaehr solche abmessungen…

bei sonnenschein im garten zusammengebaut…

und nach trocknen des leims ein paar rollen dran geschraubt und aufgestellt:

ein paar kleinigkeiten muss ich noch daran machen z.b. speakon steckverbindungen fuer die lautsprecherkabel, generell die kabel noch ein wenig aufraeumen und sauber mit kabelbindern versehen… usw.

Share:
Tagged

ist das politisch korrekt?? (2)

das hatten wir schonmal mit black: