Doorgaan naar hoofdcontent

Posts

Posts uit mei, 2016 weergeven

Excel: VBA en het zoeken en plaatsen van plaatjes bij producten

Laatste tijd een aantal keren mensen gezien die in Excel werken met een productenlijst met plaatjes. Die plaatjes plakken ze er dan zelf bij. Wat een werk! Met VBA is zoiets simpel te regelen. Plaatjes worden automatisch bij het artikelnummer gezocht en eventueel vernieuwd. Uiteraard moet er wel een map met plaatjes zijn en moeten de namen van de plaatjes gerelateerd zijn aan het artikelnummer.

In het onderstaande voorbeeld heb ik dit uitgewerkt.


Het Excel voorbeeld bestaat uit twee bladen. De eerste heet Plaatjes en bevat de artikelnummers en een knop. Bij een druk op deze knop zoekt het VBA script het juiste plaatje erbij. Wordt dit niet gevonden dan plaatst het een blauwe cirkel met een kruis. De regelhoogte en de grootte van het plaatje worden automatisch ingesteld aan de hand van variabelen uit het tweede blad.

 Het tweede blad heet Constanten. Hierin worden een aantal instellingen gedefinieerd:

NaamInhoudPadD:\walmar domino\images\Extensie.jpgAfstand links100Breedte70Hoogte70
Het…

Report Builder: Trouble With Multivalue Parameters With Too Many Values

The other day I ran in to a problem with Report Builder. I had a number of multi value parameters with a lot of values. And there was a single value parameter for selecting items too. The report rendered fine in design mode. But as soon as I published it, it was no longer rendering properly.

The mutli value parameters also contained values which would not give any result at all given a certain item number. But then again, in design node no problem.

The solution I finally came up with was to interrelate the multi value parameters to the single value parameter by using a SQL  subquery.


Let's look at this example I created based on the NorthWind database. My main dataset:

SELECT        Customers.CustomerID, Customers.CompanyName, [Order Details].OrderID, [Order Details].ProductID, [Order Details].UnitPrice, [Order Details].Quantity, [Order Details].Discount, 
                         Orders.OrderDate, Products.ProductName
FROM            Orders INNER JOIN
                         [Order …

Excel: validatie op basis van een benoemde kolom binnen een Excel Tabel

Er zijn in Excel een aantal manieren op een cel te valideren met een lijst. Ik loop ze hier langs.
A. Met een gewoon bereik:

Probleem: als er waarden worden toegevoegd, breidt het gekozen bereik zich niet automatisch uit.
B. Met een formule
Op de plek van Bron zetten we bijvoorbeeld:
=VERSCHUIVING(lijsten!$C$2;0;0;AANTALARG(lijsten!$C:$C)-1;1)
Dit heeft als voordeel dat het gekozen bereik zich automatisch uitbreidt. Komt er een element bij, dan wordt deze ook in de lijst getoond. Nadeel is dat de formule enigszins bewerkelijk is.
C. Met een naam
Op de plek van Bron zetten we dan bijvoorbeeld:
=Lijst_met_functie_Index
Een dergelijke naam verwijst dan naar een formule. In dit geval hebben we een aantal mogelijkheden:
=VERSCHUIVING(lijsten!$C$2;0;0;AANTALARG(lijsten!$C:$C)-1;1)
of bijvoorbeeld:
=INDEX(lijsten!$C:$C;2;1):INDEX(lijsten!$C:$C;AANTALARG(lijsten!$C:$C);1)
Namen met zulke formules hebben als voordeel dat het gekozen bereik zich automatisch uitbreidt. Komt er een element bij, dan wor…