Excel VBA -brugerform og områder - nemme Excel -makroer

Indholdsfortegnelse

Du kan bruge en RefEdit kontrol i Excel VBA for at få en rækkevidde fra en bruger. Det Brugerform vi skal skabe farver minimumsværdien af rækkevidde gemt i RefEdit -kontrollen.

For at oprette denne brugerformular skal du udføre følgende trin.

1. Åbn Visual Basic Editor. Hvis Project Explorer ikke er synlig, skal du klikke på View, Project Explorer.

2. Klik på Indsæt, brugerform. Hvis Toolbox ikke vises automatisk, skal du klikke på View, Toolbox. Din skærm skal konfigureres som nedenfor.

3. Tilføj etiketten, RefEdit -kontrol- og kommandoknapperne. Når dette er udført, skal resultatet være i overensstemmelse med billedet af brugerformularen vist tidligere. For eksempel kan du oprette en RefEdit -kontrol ved at klikke på RefEdit fra værktøjskassen. Dernæst kan du trække en RefEdit -kontrol på brugerformularen.

Bemærk: Hvis din værktøjskasse ikke har en RefEdit -kontrol, skal du angive en reference til RefEdit -kontrol. Klik på Værktøjer, referencer, og markér Ref. Redigeringskontrol.

4. Du kan ændre betegnelsernes navne og billedtekster. Navne bruges i Excel VBA -koden. Billedtekster er dem, der vises på din skærm. Det er god praksis at ændre navnene på kontrolelementerne, men det er ikke nødvendigt her, fordi vi kun har få kontrolelementer i dette eksempel. Hvis du vil ændre billedteksten for brugerformularen, etiketten og kommandoknapperne, skal du klikke på Vis, vinduet Egenskaber og klikke på hver kontrol.

5. For at vise brugerformularen skal du placere en kommandoknap på dit regneark og tilføje følgende kodelinje:

Privat underkommandoButton1_Click ()
UserForm1.Show
Afslut Sub

Vi skal nu oprette Sub UserForm_Initialize. Når du bruger metoden Vis til brugerformularen, udføres denne sub automatisk.

6. Åbn Visual Basic Editor.

7. I Project Explorer skal du højreklikke på UserForm1 og derefter klikke på Vis kode.

8. Vælg Brugerform på venstre rulleliste. Vælg Initialiser på rullelisten til højre.

9. Tilføj følgende kodelinjer:

Privat underbrugerForm_Initialize ()
Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address
Afslut Sub

Forklaring: den første kodelinje ændrer skrifttypefarven på alle cellerne på ark1 til sort. Den anden kodelinje henter adressen på det aktuelle valg og viser den i RefEdit -kontrollen.

Vi har nu oprettet den første del af brugerformularen. Selvom det allerede ser pænt ud, vil der endnu ikke ske noget, når vi klikker på kommando -knapperne på brugerformularen.

10. Dobbeltklik på UserForm1 i Project Explorer.

11. Dobbeltklik på knappen Go.

12. Tilføj følgende kodelinjer:

Privat underkommandoButton1_Click ()
Dim addr As String, rng, cell As Range, minimum As Double
addr = RefEdit1.Value
Indstil rng = Range (addr)
minimum = WorksheetFunction.Min (rng)
For hver celle I rng
Hvis cell.Value = minimum Så cell.Font.Color = vbRed
Næste celle
Afslut Sub

Forklaring: For det første får vi adressen fra RefEdit -kontrollen og gemmer den i strengvariablen addr. Dernæst satte vi rng til det område, der er angivet i RefEdit -kontrollen. Dernæst bruger vi regnearksfunktionen Min til at finde minimumsværdien i området. Endelig farver vi minimumsværdien (erne) ved hjælp af en loop.

13. Dobbeltklik på knappen Annuller.

14. Tilføj følgende kodelinje:

Privat underkommandoButton2_Click ()
Aflad mig
Afslut Sub

Forklaring: Denne kodelinje lukker brugerformularen, når du klikker på knappen Annuller.

15. Test brugerformularen.

Resultat:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave