VBA Recordnavigatie in Excel
Als bedrijfseigenaar die gegevens beheert, kunt u experimenteren met Microsoft Visual Basic for Applications door de gratis VBA-editor te starten die in Microsoft Excel is ingebouwd. Net als bij Visual Basic, is VBA een volwassen programmeertaal die je kunt leren door een eenvoudig formulier te maken dat door de rijen van een spreadsheet navigeert. Nadat u uw formulier hebt gemaakt, kunt u het vanuit Excel openen door op een knop te klikken.
Excel-records
In de taal van gegevens is een record een verzameling informatie over een item. In Excel bestaat alle informatie in een rij met gegevens uit een record. Elke kolom komt overeen met een gegevensveld. U navigeert door records door op afzonderlijke rijen te klikken of door de functie "Zoeken" van Excel te gebruiken om rijen te zoeken die een specifieke zoekterm bevatten. VBA biedt een derde alternatief: VBA-rijselectie.
VBA-editor
U weet misschien nooit dat Excel een VBA-editor heeft als u geen macro's gebruikt of het tabblad Ontwikkelaar zichtbaar maakt. U kunt het zichtbaar maken door op "Bestand", "Opties" en "Lint aanpassen" te klikken. Als u op het selectievakje Ontwikkelaar klikt, wordt het geselecteerd en wordt Excel gevraagd om het tabblad Ontwikkelaar toe te voegen. Dit tabblad bevat een "Macro's" -knop en een "Visual Basic "Knop - naar het lint. Klikken op de knop" Macro's "opent het venster Macro's en op de knop" Visual Basic "klikken start de VBA-editor.
Excel-formulieren
Ontwikkelaars gebruiken vaak de VBA-editor om invoerformulieren te maken, waarmee u spreadsheetgegevens kunt beheren door deze in tekstvakken in formulieren te bewerken. U kunt ook formulieren maken die acties uitvoeren, zoals het navigeren door de rijen van een spreadsheet. Als u op 'Invoegen' klikt en 'UserForm' selecteert, wordt een nieuw formulier gemaakt dat vervolgens door VBA wordt toegevoegd aan het bewerkingsvenster. Wanneer u knoppen sleept vanuit de gereedschapspalet die zich naast het formulier bevindt, worden ze weergegeven op het formulier. Vorige "-knop, bijvoorbeeld, u moet twee knoppen naar het formulier slepen en hun bijschriften wijzigen door het gewenste label in te voeren in het tekstvak Onderschrift dat in het venster PropertyBox verschijnt.
Vorige knop
Wanneer u dubbelklikt op de knop van een formulier in de ontwerpmodus, wordt in het bewerkingsvenster een lege VBA weergegeven die lijkt op de onderstaande afbeelding:
Private Sub CommandButton1_Click ()
End Sub
Deze code definieert een VBA Sub, een afkorting voor subroutine, die code kan bevatten om een taak uit te voeren. Als u de volgende code vóór de End Sub-instructie plakt, gaat uw "Vorige" -knop naar de vorige record van uw spreadsheet wanneer u erop klikt.
Dim currentRow As Integer currentRow = ActiveCell.Row -
If currentRow <1 Then currentRow = 1 End If
Rijen (CurrentRow) rechtenmenu.Selecteer
Excel gaat naar het vorige record omdat de methode Selecteren, die wordt weergegeven op de laatste regel, de rij boven de rij selecteert die de actieve cel bevat. De eigenschap ActiveCell.Row bevat de waarde van de huidige rij. Druk op "F5" om uw formulier te openen. Klik op de knop "Vorige" om achteruit door de spreadsheet te navigeren.
Meer knoppen toevoegen
Sluit het formulier, dubbelklik op de knop "Volgende" en voeg de onderstaande code toe, vóór de End Sub-instructie die in het codevenster verschijnt:
Dim currentRow As Integer currentRow = ActiveCell.Row -
If currentRow <1 Then currentRow = 1 End If
Rijen (CurrentRow) rechtenmenu.Selecteer
Als u een knop wilt toevoegen waarmee u naar de eerste record van een spreadsheet gaat, kunt u deze code plakken vóór de End Sub-instructie:
Rijen (1) rechtenmenu.Selecteer
Implementatie
Voeg meer code toe zodat u het formulier kunt openen terwijl u aan een spreadsheet werkt in het hoofdvenster van Excel. Klik op "Invoegen" en selecteer "Macro". Typ een naam voor de macro in het tekstvak "Naam". Plak de onderstaande code in het bewerkingsvenster:
Sub Navigate () UserForm1.Show False End Sub
Keer terug naar het hoofdvenster van Excel en klik op "Macro's". Een lijst met macro's verschijnt in een apart venster met de naam van de sub die u aan de module hebt toegevoegd, in dit voorbeeld is die naam "Navigeren". Wanneer u dubbelklikt op dat macro, je formulier wordt geopend. Door op de knoppen te klikken kun je door de records in je spreadsheet navigeren.