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
Eenvoudig adres stickers printen vanuit Excel en Word
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
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:
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:
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:
We halen gewoon het pad weg zodat er alleen nog maar Adressen.xlsx staat:
Als het Word document geopend is gaan we naar het tabblad 'Verzendlijsten' (1) en klikken op 'Voltooien en samenvoegen' + 'Afzonderlijkse documenten bewerken' (2)
(we kunnen ook gelijk voor documenten afdrukken kiezen!)
Onze Excel records worden nu netjes als adres stickers getoond:
De stickervellen zijn HIER te koop
Gebruik bij vragen en / of opmerkingen het contactformulier en ik kom er z.s.m. op terug!
Probleem met absolute / relatieve koppelingen naar externe bestanden in Office 2010 Deel 3 (VBA / Macro oplossing)
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
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 ThenGetFilenameFromPath = 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!!
Probleem met absolute / relatieve koppelingen naar externe bestanden in Office 2010 Deel 2
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!
Probleem met absolute / relatieve koppelingen naar externe bestanden in Office 2010 Deel 1
'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
Hoe zet ik een kolom met tekst in Excel om naar getallen?
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....
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