dinsdag 13 januari 2009

Data manipulatie in Excel


Voor mensen
die grote hoeveelheden data willen manipuleren in excel kan het gebruik van een kleine macro van Chip Pearson die CaseConvert heet nuttig zijn. Nou lijkt het als je naar de
naam luisterd alsof je met deze xla alleen
maar tussen kleine en hoofdletters kunt kiezen, maar dat is zeker niet waar. Je kunt heel gemakkelijk b.v. alle dubbele spaties ergens uithalen, of alle spaties aan het begin of het einde, of alle getallen met een factor vermenigvuldigen, of de eerste 3 characters weghalen, etc.

Werkt niet (meteen) in de Nederlandse Excel versie.
Geprobeerd CaseConvert bij iemand te installeren met een Nederlandstalige Office versie, maar dat ging mis omdat tijdens de installatie gezocht wordt naar het Engelse menu "Tools" wat in de Nederlandse versie van Excel zoiets als Extra heet.

VBA menu code zelf aanpassen
Op zich is de menu aanpassing relatief eenvoudig want het menu gedeelte van de VBA code is niet beschermd. Als je in Excel op [Alt] + [F11] drukt terwijl ConvertCase geladen is dan kun je de code zien. In het voorbeeld heb ik het programma van het menu "Tools" naar "Edit" verhuisd. Nadat je de VBA code hebt opgeslagen en Excel opnieuw hebt gestart staat het programma onder het (Engelstalige) "Edit" menu. Voor het Nederlandse menu zul je even moeten kijken wat de Nederlandse naam van het menu is.

Veel van de zaken die ik hier beschrijf kun je ook oplossen door formules, maar hoewel ik veel gegevens heb geanalyseerd m.b.v. formules, helpt dit kleine programmatje nog steeds geweldig. Let wel op hoe je het afsluit want de laatste instelling wordt onthouden, en dat wil je nog wel eens over het hoofd zien als je het programmatje opnieuw gebruikt.

Probleem met foutmeldingen in VBA opgelost.

Een tijdje geleden had ik mijn laptop met XP professional d.m.v. een ghost image opnieuw opgezet en vanaf die dag werkte CaseConvert niet meer, bummer! Na wat spitten ben ik erachter gekomen dat ik in excel VBA mijn setting had staan op "Break on all errors". Hierdoor leiden ook fouten die na een "On Error Resume Next" instructie stonden tot een zichtbare fout. Nadat ik dit had terug gezet naar "Break on unhandled errors" draait alles weer zoals het hoort.

Het ultime manipuleren, heel intuïtief.... maar toch...

Voor mensen die het geen probleem vinden hun gegevens "op straat" te zetten, kun je ook terecht bij CleanUpData een Web 2.0 site die het wel heel attractief maakt om je gegevens aan hen over te dragen.


Geen opmerkingen: