Genereren van tabel-gegevens
Ten einde te kunnen oefenen met de rijke weergave van tabellen, filter-functionaliteiten,
Pivot-tabellen en Diagram-weergaven is een aanwezigheid van subtantiële tabel gegevens noodzakelijk.
Om deze niet manueel te hoeven in te geven heb ik een methode gezocht om deze automatisch te genereren.
Teneinde verkoopsgegevens te verkrijgen voorzie ik een Werkblad data met volgende 1-kolom tabellen.
Ik voorzie een functie, fGeefWaarde(), om in een willekeurige volgorde gegevens van de Range van de gedefinieerde namen in te lezen
Public Function fGeefWaarde(nmNaam As Excel.Name) As String
Dim intWil As Integer
Dim intDum As Integer
Dim rngNaam As Excel.Range
Dim rngCel As Excel.Range
Set rngNaam = Range(nmNaam)
intWil = fWilgetal(1, rngNaam.Rows.Count)
intDum = 0
For Each rngCel In rngNaam
intDum = intDum + 1
If intDum = intWil Then
fGeefWaarde = rngCel.Value
Exit For
End If
Next rngCel
End Function
In het werkblad 'tabel_2'' worden de volgende hoofdingen voorzien:
| Datum | Jaar | Kwartaal | Naam | Regio | Item | Aantal | Stukprijs | Totaal prijs |
De routine sGenereer() vult de gegevens rij per rij in de tabel in.
Public Sub sGenereer()
Dim shtTabel As Worksheet
Dim intRij, intKol As Integer
Dim rngCel As Excel.Range
Dim datDatum As Date
Set shtTabel = ThisWorkbook.Worksheets("tabel_2")
For intRij = 2 To 301
datDatum = fRandomDatum(#1/1/2014#, #12/31/2016#)
shtTabel.Cells(intRij, 1) = datDatum
shtTabel.Cells(intRij, 1).NumberFormat = "dd/mm/yyyy"
shtTabel.Cells(intRij, 2).Formula = "=YEAR(R[0] C[-1])"
shtTabel.Cells(intRij, 3).Formula = "=fVertaalInKwartaal(R[0] C[-2])"
shtTabel.Cells(intRij, 4) = fGeefWaarde(ThisWorkbook.Names("Naam"))
shtTabel.Cells(intRij, 5) = fGeefWaarde(ThisWorkbook.Names("Regio"))
shtTabel.Cells(intRij, 6) = fGeefWaarde(ThisWorkbook.Names("Item"))
shtTabel.Cells(intRij, 7) = fWilgetal(5, 50)
shtTabel.Cells(intRij, 8) = CCur(fGeefWaarde(ThisWorkbook.Names("Stukprijs")))
shtTabel.Cells(intRij, 8).NumberFormat = "€ #,##0.00"
shtTabel.Cells(intRij, 9).FormulaR1C1 = "=R[0] C[-1]*R[0] C[-2]"
shtTabel.Cells(intRij, 9).NumberFormat = "€ #,##0.00"
Next intRij
End Sub
hallo