Sådan indsamles data fra UserForms til et Excel-regneark

Med Excel kan du bruge Visual Basic til at tilføje en række forskellige funktioner til dine regneark, herunder "UserForms." Via UserForms kan du vise en inputformular til brugeren, der er adskilt fra hovedregnearket, hvilket er nyttigt til at registrere data fra enkeltpersoner, der muligvis ikke er fortrolige med regneark. Med lidt Visual Basic-kode kan du tilføje alle disse data til dit regneark i nye rækker.

Definer dine felter

Start Excel. Indtast navnene på alle de felter, du vil fange i den øverste række, startende fra “A1” og arbejd til højre. Klik på "Udvikler", og klik derefter på "Visual Basic." Visual Basic-vinduet vises. Klik på “A” -ikonet fra værktøjskassen, og klik og træk inde i “UserForm1” -vinduet på det sted, du vil have dit første formularfelt til at gå. Rediger etiketten ved at ændre egenskaben "Billedtekst" til noget mere beskrivende, f.eks. "Fornavn". Opret en etiket til hvert af de felter, du indtastede på dit regneark.

Tilføj dine tekstfelter

Vælg ikonet "TextBox" fra værktøjskassen, og træk et tekstfelt ud lige til højre for din første etiket. Hvis du kun bruger nogle få felter, er det acceptabelt at lade egenskaben “(Navn)” være standard “TextBox1”. Men hvis du har brug for et stort antal felter, kan dette blive forvirrende, så du bør redigere disse for at matche de etiketter, du allerede har oprettet. Sørg for, at hver etiket har et tilsvarende tekstfelt.

Tilføj en Send-knap

Klik på "Kommando-knap" -ikonet i værktøjskassen, der ligner en standardknap i Windows-stil. Klik og træk den til den størrelse og placering, du har brug for i UserForm1. Du vil typisk have dette under eller nær det sidste tekstfelt i din form. Skift knappens egenskab "Billedtekst" til "Indsend data" eller lignende, hvilket indikerer for brugeren, at de skal klikke på denne knap for at indsende deres data.

Tilføj Visual Basic Code

Dobbeltklik på knappen. Indtast følgende kode mellem "Private Sub" og "End Sub":

eRow = Sheet1.Cells (Rows.Count, 1) .End (xlUp) .Offset (1,0) .Row

Start derefter en ny linje under denne og indtast derefter følgende:

Celler (erow, 1) = TextBox1.Text

Hvis du omdøbte dine tekstfelter, skal du ændre “TextBox1” til det navn, du gav det første tekstfelt. Gør dette for hvert indtastningsfelt, du oprettede, start en ny linje og indtast de korrekte tekstfeltnavne efter behov. Forøg også tallet i parentes for hver ny linje en. For eksempel kan den næste linje se sådan ud:

Celler (erow, 2) = TextBox2.Text

Klik på knappen "Afspil" øverst i vinduet for at begynde at registrere data.