Author: sd
love, peace and handkaes
echte frankfurter đ
doppelmoppelampel
die stadt frankfurt wird sich was dabei gedacht haben. viele jahre lang hing da eine ampel… jetzt sinds zwei uebereinander…
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?
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 đ
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.