Excel VBA-Benutzerformular und Bereiche
Sie können ein RefEdit Kontrolle im Excel VBA um einen Bereich von einem Benutzer zu erhalten. Das Benutzerformular Wir werden Farben den Mindestwert der erstellen Angebot im RefEdit-Steuerelement gespeichert.
Führen Sie die folgenden Schritte aus, um dieses Benutzerformular zu erstellen.
1. Öffnen Sie den Visual Basic-Editor. Wenn der Projekt-Explorer nicht sichtbar ist, klicken Sie auf Ansicht, Projekt-Explorer.
2. Klicken Sie auf Einfügen, Benutzerformular. Wenn die Toolbox nicht automatisch angezeigt wird, klicken Sie auf Ansicht, Toolbox. Ihr Bildschirm sollte wie folgt eingerichtet sein.
3. Fügen Sie die Label-, RefEdit-Steuer- und Befehlstasten hinzu. Sobald dies abgeschlossen ist, sollte das Ergebnis mit dem zuvor gezeigten Bild des Benutzerformulars übereinstimmen. Erstellen Sie beispielsweise ein RefEdit-Steuerelement, indem Sie in der Toolbox auf RefEdit klicken. Als Nächstes können Sie ein RefEdit-Steuerelement auf die Benutzerform ziehen.
Hinweis: Wenn Ihre Toolbox kein RefEdit-Steuerelement enthält, legen Sie einen Verweis auf das RefEdit-Steuerelement fest. Klicken Sie auf Extras, Verweise und aktivieren Sie Ref Edit Control.
4. Sie können die Namen und die Beschriftungen der Steuerelemente ändern. Namen werden im Excel-VBA-Code verwendet. Untertitel sind diejenigen, die auf Ihrem Bildschirm erscheinen. Es empfiehlt sich, die Namen der Steuerelemente zu ändern. Dies ist jedoch nicht erforderlich, da in diesem Beispiel nur wenige Steuerelemente vorhanden sind. Um die Beschriftung der Benutzerformular-, Beschriftungs- und Befehlsschaltflächen zu ändern, klicken Sie auf Ansicht, Eigenschaftenfenster, und klicken Sie auf jedes Steuerelement.
5. Um das Benutzerformular anzuzeigen, platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile hinzu:
UserForm1.Show
End Sub
Wir werden jetzt die Sub UserForm_Initialize erstellen. Wenn Sie die Show-Methode für das Benutzerformular verwenden, wird dieses Sub-Objekt automatisch ausgeführt.
6. Öffnen Sie den Visual Basic-Editor.
7. Klicken Sie im Projektexplorer mit der rechten Maustaste auf UserForm1, und klicken Sie dann auf Code anzeigen.
8. Wählen Sie Benutzerform in der linken Dropdown-Liste. Wählen Sie Initialisieren aus der rechten Dropdown-Liste.
9. Fügen Sie die folgenden Codezeilen hinzu:
Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address
End Sub
Erläuterung: Die erste Codezeile ändert die Schriftfarbe aller Zellen in Blatt 1 in Schwarz. Die zweite Codezeile erhält die Adresse der aktuellen Auswahl und zeigt sie im RefEdit-Steuerelement an.
Wir haben jetzt den ersten Teil des Benutzerformulars erstellt. Obwohl es bereits ordentlich aussieht, wird nichts passieren, wenn wir auf die Befehlsschaltflächen in der Benutzerform klicken.
10. Doppelklicken Sie im Projektexplorer auf UserForm1.
11. Doppelklicken Sie auf die Schaltfläche Los.
12. Fügen Sie die folgenden Codezeilen hinzu:
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
Erläuterung: Zuerst holen wir die Adresse aus dem RefEdit-Steuerelement und speichern sie in der String-Variable addr. Als Nächstes setzen wir rng auf den im RefEdit-Steuerelement angegebenen Bereich. Als nächstes verwenden wir die Tabellenfunktion Min, um den Minimalwert im Bereich zu finden. Zum Schluss färben wir die Mindestwerte mit einer Schleife.
13. Doppelklicken Sie auf die Schaltfläche Abbrechen.
14. Fügen Sie die folgende Codezeile hinzu:
Unload Me
End Sub
Erläuterung: Diese Codezeile schließt die Benutzermaske, wenn Sie auf die Schaltfläche Abbrechen klicken.
15. Testen Sie das Benutzerformular.
Ergebnis: