zondag, 02 november 2014 12:59

Gemakkelijk checkboxen aanmaken

De volgende macro heb ik geschreven n.a.v. een vraag van iemand of het mogelijk was om snel per rij in Excel een aantal checkboxes aan te maken die allemaal koppelen naar de volgende kolom. Dus bijvoorbeeld in kolom D vanaf rij 5 20 checkboxes die linken naar kolom rij 5 t/m 25.

 Sub SnelAanmakenCheckBoxen()
    Dim str1 As String
    Dim str2 As String
    Dim str3 As String
    Dim str4 As String
    Dim OLEObj As OLEObject
    Application.ScreenUpdating = False
    
    
    str1 = InputBox("Geef een unieke naam ter identificatie van de checkboxen (b.v. verdediger,middenvelder,aanvaller):", "Naam")
    str2 = InputBox("In welke kolom moeten de checkboxen komen (D,E,F,etc):", "Kolom info")
    str3 = InputBox("Start checkboxen op rij (1,2,3,etc):", "Startrij")
    str4 = InputBox("Stop checkboxen op rij (1,2,3,etc):", "Stoprij")
    
    Dim i
    Dim nleft As Integer
    Dim ntop As Integer
    Dim nname As String
    
    If Val(str3) = 0 Or Val(str4) = 0 Then
        MsgBox ("Geen geldige rij opgegeven voor checkboxen")
        Exit Sub
    End If
        '
    For i = Val(str3) To Val(str4) 'cells from 1st to 10th
    
    nleft = Cells(i, str2).Left
    ntop = Cells(i, str2).Top
    
    
    Set OLEObj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=nleft, Top:=ntop, Width:=21.75, Height:=15 _
        )
        
     nname = str1 & i
        
     OLEObj.Name = nname
     OLEObj.Object.Caption = ""
     OLEObj.LinkedCell = Chr(Asc(str2) + 1) & i
     OLEObj.Object.Value = False
    
    Application.ScreenUpdating = True
    Next
End Sub

 Met deze macro kon hij zijn Excel gemakkelijk opbouwen zonder stuk voor stuk de checkboxes aan te hoeven maken.

Klik HIER voor de Excel

Gepubliceerd in Macro's en VBA

M.b.v. Excel en Word zijn er honderden stickers te printen waarbij Word de opmaak van de sticker regelt en Excel de gegevens bevat die op de sticker moeten komen, het internet staat bol met info hoe je verzendlijsten moet maken / afdruk samenvoegen starten. Zoek je naar meer informatie hoe je dat kan doen klik dan hier!

Wil je gewoon snel en eenvoudig een A4 met stickers printen voor bijvoorbeeld de kerstkaarten dan heb ik hier de tools kant en klaar!

De stickervellen vind je HIER

Quantore etiket 70x42.4mm 2100 stuks

Download de voorbeeldbestanden HIER!


We zetten deze 2 bestanden (Adressen.xlsx en AdresStickerTemplate.docx) samen in een map.

We hebben een simpele Excel met kolommen Naam - Adres - Postcode - Plaats - Land, het land willen we alleen afdrukken indien het afwijkt van Nederland:

 Voorbeeld adresbestand in Excel

Hier zetten we al onze adressen onder elkaar, alleen als het land afwijkt van Nederland vullen we het in de kolom 'Land' in.

We openen nu het Word bestand AdresStickerTemplate.docx, omdat dit bestand al gekoppeld is krijgen we bij het openen de vraag of we de SQL opdracht Select * from blad1 uit willen voeren, we kiezen JA:

Select from blad1 wilt u doorgaan

Omdat bij het aanmaken van het bestand het pad verwijst naar mijn locatie en deze waarschijnlijk anders heet bij jullie zal Word eerst gaan zeuren dat hij het bestand niet kan openen:

Foutmelding openen afdruk samenvoegen Excel

We halen gewoon het pad weg zodat er alleen nog maar Adressen.xlsx staat:

Pas pad aan bij data link verbindings eigenschappen

Als het Word document geopend is gaan we naar het tabblad 'Verzendlijsten' (1) en klikken op 'Voltooien en samenvoegen' + 'Afzonderlijkse documenten bewerken' (2)

Voorbeeld Word afdruk samenvoegen

(we kunnen ook gelijk voor documenten afdrukken kiezen!)

Onze Excel records worden nu netjes als adres stickers getoond:

Voorbeeld afzonderlijke documenten bewerken

De stickervellen zijn HIER te koop

Gebruik bij vragen en / of opmerkingen het contactformulier en ik kom er z.s.m. op terug!

 

Gepubliceerd in Algemeen

De koppelingen in PowerPoint bevatten het complete / absolute pad naar het Excel bestand. Kopiëren en plakken geeft problemen omdat er naar 'oude' bestanden wordt verwezen...
In deze video toon ik hoe je m.b.v. een macro / vba functie het pad kan verwijderen zodat alleen de bestandsnaam in de koppeling overblijft!

Vooraf: Als we via 'Bestand - Koppelingen naar bestanden bewerken' kijken naar de koppeling dan zien we het volledige pad in de koppeling staan...

We gaan een VBA functie / Macro maken om het pad uit alle koppelingen in alle slides te verwijderen!

Stap 1: Toets ALT-F11

Stap 2: Kies boven in het menu voor 'Invoegen - Module'

Stap 3: Voeg de volgende code toe:

Global fso As New FileSystemObject

Public Sub MaakKoppelingenRelatief()
    Dim i As Integer
    Dim sld As Slide, shp As Shape
    For Each sld In ActivePresentation.Slides
        For Each shp In sld.Shapes
            If shp.Type = 10 Then
                Dim path As String, fname As String
                path = shp.LinkFormat.SourceFullName
                fname = GetFilenameFromPath(path)
                shp.LinkFormat.SourceFullName = fname
                 i = i + 1
            End If
        Next
    Next
    If i > 0 Then
        MsgBox "Bijgewerkt: " & CStr(i) & " koppelingen", vbOK
    Else
        MsgBox "Geen koppelingen gevonden.", vbOK
    End If
End Sub
Function GetFilenameFromPath(ByVal strPath As String) As String
' Returns the rightmost characters of a string upto but not including the rightmost '\'
' e.g. 'c:\winnt\win.ini' returns 'win.ini'
    If Right$(strPath, 1) <> "\" And Len(strPath) > 0 Then
        GetFilenameFromPath = GetFilenameFromPath(Left$(strPath, Len(strPath) - 1)) + Right$(strPath, 1)
    End If
End Function

Stap 4: Wat we nog wel even moeten doen is in het menu bij 'Extra - Verwijzingen' de Microsoft Scripting Runtime aanvinken. Dit omdat we FileSystemObject gebruiken!
Blader naar beneden door de lijst en selecteer Microsoft Scripting Runtime

Stap 5: Terug in de presentatie kiezen we nu voor 'ALT-F8 - Maak koppelingen relatief - Uitvoeren'

Kijken we nu bij 'Bestand - koppeling naar bestanden bewerken' dan zien we dat het pad is verdwenen!!

 

Gepubliceerd in Algemeen

De koppelingen in PowerPoint bevatten het complete / absolute pad naar het Excel bestand. Kopiëren en plakken geeft problemen omdat er naar 'oude' bestanden wordt verwezen...

In deze video toon ik een oplossing door het pad met bijvoorbeeld kladblok weg te halen zodat alleen de bestandsnaam overblijft.

Stap 1: Hernoem het .pptx bestand naar een .zip bestand

Stap 2: Open dit bestand en blader naar: PPT - Slides - _rels

Stap 3: Sleep het .xml.rels bestand naar een plek 'buiten de zip'. Klik met de rechtermuisknop en kies bewerken.

Stap 4: We verwijderen het absolute pad maar laten file:/// en de bestandsnaam staan.
Eventueel gebruiken we ALT-H, dit werkt gemakkelijker als er meerdere koppelingen zijn! We vervangen dan het pad door 'niets'

Stap 5: We slepen de aangepaste .xml.rels weer terug naar de zip en kiezen daar OK

Stap 6: Hernoem het .zip bestand terug naar een .pptx bestand

Als we nu een kopie maken van de bestanden uit de map januari naar een nieuwe map februari...
En we wijzigen de gegevens in de Excel, dan zien we als we 'koppelingen bijwerken' kiezen dat de presentatie de nieuwe Excel data bevat. Ook de koppeling zal verwijzen naar de nieuwe locatie!

 

 

 

Gepubliceerd in Algemeen

'Stel' We hebben een Excel bestand met gegevens over de maand januari En een powerpoint die verwijst naar deze 'gegevens.xlsx' Via 'Bestand - Koppelingen naar bestanden bewerken' zien we de 'harde' verwijzing naar het Excel bestand in de map januari...

We kopiëren nu de bestanden naar de map februari Passen de cijfers aan. Als we nu het net gekopieerde bestand openen dan zien we -hoewel we kiezen voor 'koppelingen bijwerken'- dat de cijfers niet bijgewerkt worden! Bij de eigenschappen van de koppeling zien we nog steeds een verwijzing naar het bestand in de map januari...

In dit filmpje wordt bovenstaand probleem getoond, oplossingen vindt u in deel 2 en deel 3 van deze serie

 

Gepubliceerd in Algemeen

Als we een bestand openen met een kolom waarin getallen en tekst door elkaar staan kunnen we natuurlijk op het gele bordje klikken met het uitroepteken en kiezen voor 'converteren naar getal' maar als je een lange lijst moet converteren wil het nog wel eens voor komen dat je het gele bordje met uitroepteken niet 1-2-3 meer kan vinden. In dit Excel instructie filmpje ziet u een gemakkelijke / alternatieve manier om tekst om te zetten naar getallen.
Gepubliceerd in Algemeen
zondag, 03 februari 2013 21:09

Doe meer met tabellen in Excel

Gebruik tabelnamen in formules, maak subtotalen en gemiddelden of tel snel 2 kolommen op. Gewoon door de tabelnaam in de formule te gebruiken!
Met Excel tabellen in Excel 2010 kan zoveel meer....

Gepubliceerd in Tabellen
zondag, 03 februari 2013 21:07

Hoe gebruik je tabellen in Excel 2010




In deze 90 seconden Excel instructie video zie je hoe je eenvoudig van
een lijst met gegevens een tabel maakt, rijen toevoegt, tabel namen in
formules kan gebruiken en met filteren snel op

Gepubliceerd in Tabellen

Excel Software Shop

Web Analytics