/ / Excel VBA brukerform og ranger

Excel VBA brukerform og ranger

Du kan bruke en RefEdit kontroll i Excel VBA for å få et utvalg fra en bruker. De Userform vi skal lage farger minimumsverdien av område lagret i RefEdit-kontrollen.

Brukerform og ranger i Excel VBA

For å opprette denne brukerformen, utfør følgende trinn.

1. Åpne Visual Basic Editor. Hvis Project Explorer ikke er synlig, klikker du på Vis, Project Explorer.

2. Klikk på Sett inn, Brukerform. Hvis Verktøykassen ikke vises automatisk, klikker du på Vis, Verktøykasse. Skjermen din bør settes opp som nedenfor.

Userform Screen Setup i Excel VBA

3. Legg til etiketten, RefEdit-kontroll og kommandoknapper. Når dette er fullført, bør resultatet være i tråd med bildet av brukerformen som ble vist tidligere. For eksempel, opprett en RefEdit-kontroll ved å klikke på RefEdit fra Verktøykassen. Deretter kan du dra en RefEdit-kontroll på brukerformen.

Merk: Hvis verktøykassen ikke har RefEdit-kontroll, sett en referanse til RefEdit-kontrollen. Klikk på Verktøy, Referanser, og velg Ref Edit Control.

4. Du kan endre navnene og bildeteksten til kontrollene. Navnene brukes i Excel VBA-koden. Undertekster er de som vises på skjermen. Det er god praksis å endre navnene på kontrollene, men det er ikke nødvendig her fordi vi bare har noen få kontroller i dette eksemplet. Hvis du vil endre bildeteksten til brukerformat, etikett og kommandoknapper, klikker du Vis, Egenskaper Vindu og klikker på hver kontroll.

5. For å vise brukerformatet, legg en kommandoknapp på regnearket og legg til følgende kodelinje:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Vi skal nå lage Sub UserForm_Initialize. Når du bruker Show-metoden for brukerformularen, blir denne delen automatisk utført.

6. Åpne Visual Basic Editor.

7. I Project Explorer, høyreklikk på UserForm1 og klikk deretter Vis kode.

8. Velg Brukerform fra den venstre rullegardinlisten. Velg Initialize fra den høyre rullegardinlisten.

9. Legg til følgende kodelinjer:

Private Sub UserForm_Initialize()

Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address

End Sub

Forklaring: Den første kodelinjen endrer skriftfargen på alle cellene på ark1 til svart. Den andre kodelinjen får adressen til det gjeldende valget og viser den i RefEdit-kontrollen.

Vi har nå opprettet den første delen av brukerformen. Selv om det ser pent ut, vil ingenting skje ennå når vi klikker på kommandoknappene i brukerformen.

10. Dobbeltklikk på UserForm1 i Project Explorer.

11. Dobbeltklikk på gå-knappen.

12. Legg til følgende kodelinjer:

Private Sub CommandButton1_Click()

Dim addr As String, rng, cell As Range, minimum As Double

addr = RefEdit1.Value
Set rng = Range(addr)
minimum = WorksheetFunction.Min(rng)

For Each cell In rng
    If cell.Value = minimum Then cell.Font.Color = vbRed
Next cell

End Sub

Forklaring: Først får vi adressen fra RefEdit-kontrollen og lagrer den i String-variabeladdr. Deretter setter vi rng i området som er angitt i RefEdit-kontrollen. Deretter bruker vi regnearksfunksjonen Min for å finne minimumsverdien i området. Endelig farger vi minimumsverdien (e) med en sløyfe.

13. Dobbeltklikk på Avbryt-knappen.

14. Legg til følgende kodelinje:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Forklaring: Denne kodelinjen lukker Userform når du klikker på Avbryt-knappen.

15. Test brukerformatet.

Resultat:

Brukerform og Ranges Resultat

Les også: