Onderwerp


Dynamische database met VBA



Informatie


Lijsten of databases dienen vaak als bron voor draaitabellen. Net als bij dynamische grafieken wil je niet iedere keer de verwijzing naar deze brongegevens wijzigen als er records worden toegevoegd. Met een opdrachtknop en VBA code kun je dit proces echter automatiseren.

Download een
voorbeeldbestand en volg de volgende stappen.

- Maak een werkboek dat 1 werkblad bevat met 2 benoemde bereiken
- Voeg een opdrachtknop toe en noem deze cbAdd

A) Maak het werkboek

- Voeg twee benoemde bereiken toe
- 1) Input
(B6:D6)
- 2) Database
(B9:D15)
- Voeg een opdrachtknop toe en noem deze
cbAdd

B) Voeg VBA-code toe aan de opdrachtknop

Private Sub cbAdd_Click()
Dim lRows As Long

With Range("Database")
lRows = .Rows.Count + 1
Range("Input").Copy Destination:=.Cells(lRows, 1)
.Resize(lRows).Name = "Database"
End With
End Sub




Hoe het werkt.

De code achter de opdrachtknop doet het volgende.
- Het bepaalt de laatste regel (
lRows) van het benoemde bereik ("Database") en telt daar 1 bij op
- Het kopieert de regel met nieuwe gegevens ("Input") naar de nieuwe lege regel van het benoemde bereik
- Het bepaalt de nieuwe omvang van het benoemde bereik (
"Database")

!! Je kunt de nieuwe omvang van de het bereik checken via CTRL+F3.

!! De Engelstalige variant

De Engelsen termen voor deze functie zijn:
Opdrachtknop = Commandbutton
Draaitabel = Pivottable