Ik heb in het werkblad ‘allebestanden’ een uitdraai van TreeSize staan met alle bestanden op een gezamenlijke schijf. (zie bijlage voor voorbeeldbestand)
In kolom C staat de bestandsgrootte, maar deze staat niet goed. Je ziet bij de waarden KB, MB en GB in de kolom staan. Dit is omdat bij de celeigenschappen een tekststring is toegevoegd , #,##0,0 “KB” bijvoorbeeld.
Maar de numerieke waarde in de cel is dus niet in verhouding, een cel waar “150 KB” in staat, heeft net zo’n numerieke waarde als een cel waar “150 Bytes” in staat.
Dat is natuurlijk onhandig, want nu kan ik niet sorteren op bestandsvolume of uitrekenen wat het totale bestandsvolume is van bestanden met bepaalde eigenschappen. Dus ik wil graag alles omzetten naar MB.
(ik kan niet een nieuwe treesize export maken, ik heb daar de rechten niet voor en de persoon die het kan is op vakantie)
Nou is mijn VBA kennis beperkt en ook een beetje roestig…. Maar zou je een macro kunnen maken die dit doet:
Als numberformat van cel in kolom C = #,##0,0 “KB” , geef dan in kolom D de waarde van die cel /1000
Als numberformat van cel in kolom C = #,##0,0 “MB” , geef dan in kolom D de waarde van die cel
Als numberformat van cel in kolom C = #,##0,0 “Bytes” , geef dan in kolom D de waarde van die cel /1000000
Als numberformat van cel in kolom C = #,##0,0 “GB” , geef dan in kolom D de waarde van die cel *1000
In kolom C staat de bestandsgrootte, maar deze staat niet goed. Je ziet bij de waarden KB, MB en GB in de kolom staan. Dit is omdat bij de celeigenschappen een tekststring is toegevoegd , #,##0,0 “KB” bijvoorbeeld.
Maar de numerieke waarde in de cel is dus niet in verhouding, een cel waar “150 KB” in staat, heeft net zo’n numerieke waarde als een cel waar “150 Bytes” in staat.
Dat is natuurlijk onhandig, want nu kan ik niet sorteren op bestandsvolume of uitrekenen wat het totale bestandsvolume is van bestanden met bepaalde eigenschappen. Dus ik wil graag alles omzetten naar MB.
(ik kan niet een nieuwe treesize export maken, ik heb daar de rechten niet voor en de persoon die het kan is op vakantie)
Nou is mijn VBA kennis beperkt en ook een beetje roestig…. Maar zou je een macro kunnen maken die dit doet:
Als numberformat van cel in kolom C = #,##0,0 “KB” , geef dan in kolom D de waarde van die cel /1000
Als numberformat van cel in kolom C = #,##0,0 “MB” , geef dan in kolom D de waarde van die cel
Als numberformat van cel in kolom C = #,##0,0 “Bytes” , geef dan in kolom D de waarde van die cel /1000000
Als numberformat van cel in kolom C = #,##0,0 “GB” , geef dan in kolom D de waarde van die cel *1000
Bijlagen
Laatst bewerkt: