dinsdag 31 december 2013

Excel: Inspired By a Nice Graph in a Dutch News Paper

Inspired by a nice graph from the Volkskrant of last Saturday:


The data from A1:E15:

In procenten Helemaal natuur Beetje natuur Geen natuur
Tropisch regenwoud 95 4 1
De Veluwe 93 7 0
De Waddenzee 91 8 1
Damherten 83 15 2
Schone lucht 78 18 4
Merels 75 23 2
Schapen in de wei 68 30 2
Graanvelden 52 41 7
Een boomrijk stadspark 40 56 4
Medicinale planten 32 49 19
Een klimop in de achtertuin 24 59 17
Muntthee 11 38 51
Bedrijventerrein met bomen 5 41 54
Een hondenuitlaatplaats 3 18 79

You can download the file excelnatuur.xlsx through this link:

vrijdag 13 december 2013

Excel: Line Chart With Markers with Different Colors Above and Below Target

A simple but nice idea. I just could not work out the idea to give the line above different colors when above or below the target line. Myabe somebody has a better idea?


Here are the data from A1:E14:

Year Real Target Above Below
2001 130 100 130 #N/A
2002 120 100 120 #N/A
2003 80 100 #N/A 80
2004 110 100 110 #N/A
2005 90 100 #N/A 90
2006 120 100 120 #N/A
2007 76 100 #N/A 76
2008 111 100 111 #N/A
2009 112 100 112 #N/A
2010 97 100 #N/A 97
2011 95 100 #N/A 95
2012 104 100 104 #N/A
2013 106 100 106 #N/A

You can download the file lijngrafiek.xlsx through this link:

woensdag 11 december 2013

Excel: Bar and Column Graph Combined Gives a banded Chart

When you combine a bar and a column graph you can create this nice example:


Here are the data from A1:C10:

Year Amount Bands
2001  € 120,00 0
2002  € 134,00 8
2003  € 100,00 0
2004  € 123,00 8
2005  € 154,00 0
2006  € 111,00 8
2007  €   98,00 0
2008  € 145,00 8
0

You can download the file ExcelBanded.xlsx through this link:

zondag 8 december 2013

Friesland: chronogrammen in grafmonumenten of muurstenen

Onlangs kreeg ik een e-mail van Hindrik de Jong uit Tjalleberd. Hij had een bericht ontvangen van een Duitse kennis met een grafschift waarin een jaartal vervlochten zat:

Mors est pIo abItVs aD ChrIstI regna

Hij vroeg zich af of wij zoiets in Friesland wel eens tegengekomen waren. De twee gevallen die mij te binnen willen schieten, zijn die van de muursteen in de kerktoren van de Benedictuskerk te Dantumawoude (http://www.benedictuskerk.nl/?pagina=toren):

theoDorVs V sCheLtInga
Den eerstgeboren
geeft aen ons toren
een eeVWig steen
Voor VaDers been.

en de stichtingssteen van de St. Michaelskerk te Woudsend:

haeC eXstrUCta DeI trInI est In LaUDIbUs aeDes eXstet et In pago grata per enne bonIs


Alle waarden van de hoofdletters, als Romeinse cijfers, vormen het totaal van 1792.

Van een goede vriend hoorde ik dat dit fenomeen chronogram wordt genoemd. Een andere naam is jaardicht (http://nl.wikipedia.org/wiki/Jaardicht)

Ik heb eens rondgekeken naar meer voorbeelden. Via de website http://erfgoedkloosterleven.nl vond ik nog dit voorbeeld uit de Noord Brabantse plaats Sint Agatha:

hIC CVbat henrICVs / saCrI DeCVs orDInIs / Ingens / regIa VIrtVtis / reLLIgIonIs apeX

De jaartallen berekenen we als volgt. Ik doe dit even aan de hand van het eerste voorbeeld. We schrijven het schema van de Romeinse getallen verticaal uit:

M = 1000
D  = 500
C = 100
L = 50
X = 10
V = 5
I = 1

Daar achter noteren we hoe vaak elke letter als hoofdletter voorkomt in het chronogram. In dit geval:

M 1
D 1
C 1
X
V 1
I 4

We komen dan op 1 * 1000 + 1 *500 + 1 *100 + 1*5 + 4*1 = 1609

Zo kunnen we dus van elke chronogram of jaardicht het jaartal berekenen. Ik ben benieuwd of we in Nederland en specifiek in Friesland nog meer van dit soort voorbeelden tegenkomen.


Oudewater: chronogram in paneel communiebank Oudkatholieke kerk 1708

vrijdag 6 december 2013

Excel: Graph with two Y Axis

Saw a graph with two Y-axis in the Dutch magazine Elsevier. This is what I made of it:


The orginal looked like this:


Here are the data from A1:C8

Dec. 2013 Compared to 2012
Germany 1,74 % 0,36 %
Netherlands 2,06 % 0,45 %
France 2,17 % 0,13 %
Italy 4,08 % -0,42 %
Spain 4,15 % -1,16 %
Portugal 5,87 % -1,70 %
Greece 8,54 % -7,39 %

You can download the file ExcelTwoYAxis.zip through this link:

donderdag 5 december 2013

Word VBA: Autotext and Built In Building Block Entries

The first script deletes all autotext entire from the normal.dotm

Sub DeleteNormalAutoTextEntries()
    'goal: delete all autotext entries from normal.dotm
    Dim i As AutoTextEntry
    'wissen autotextentries
    For Each i In NormalTemplate.AutoTextEntries
        i.Delete
    Next
End Sub

The second script deletes all built in building block entries from the template built-in building blocks.dotx

Sub DeleteBuiltinBuildingblockentries()

    'Word 2010 and up
    'goal: delete all elements from built-in building blocks.dotx

    On Error Resume Next 'necessary while deleting from the template causes errors

    Dim objTemplate As Template
    Dim i As Integer 'counter
    Dim bb As Word.BuildingBlock 

    Set objTemplate = Templates(1) 'templates(1) = built-in building blocks.dotx
    For i = 1 To 10 'you need more loupes while it simply doed not work to delete all in one round
        For Each bb In objTemplate.BuildingBlockEntries
           bb.Delete
        Next
    Next
    objTemplate.Save 'save template
End Sub

The last script imports given auto text entried from a two column table in a Word document:

Sub ImportAutotextFromWordTable()
    'goal: load autotext entries from Word document table 
    'two columns: the first with the entry lable, the second with the entry text

    On Error GoTo errormessage
    Dim oTable As Table
    Dim oRow As Row
    Dim name As String
   
    Application.Documents.Open ("C:\autotext.docx") 'this file needs to be in a given map
    For Each oRow In ActiveDocument.Tables(1).Rows
        name = Left(oRow.Cells(1).Range.Text, Len(oRow.Cells(1).Range.Text) - 2)
        If Left(oRow.Cells(2).Range.Text, Len(oRow.Cells(2).Range.Text) - 2) < 256 Then
            NormalTemplate.AutoTextEntries.Add name:=name, Range:=Selection.Range
            NormalTemplate.AutoTextEntries(name).Value = Left(oRow.Cells(2).Range.Text, Len(oRow.Cells(2).Range.Text) - 2)
        Else
            ' If the length of the text is greater than 255 characters,
            ' insert it into the active document and add it as a new
            ' AutoText Entry.
            With Selection.Range
                .Collapse
                .Text = Left(oRow.Cells(2).Range.Text, Len(oRow.Cells(2).Range.Text) - 2)
                .Select
                NormalTemplate.AutoTextEntries.Add _
                   name:=name, Range:=Selection.Range
                .Delete
            End With
        End If
    Next
   
    Exit Sub
   
errormessage:
    MsgBox "File C:\autotext.docx is missing"

End Sub