Sie können ein RefEdit-Steuerelement in Excel VBA verwenden, um einen Bereich von einem Benutzer zu erhalten. Die Userform werden wir Farben den Minimalwert des Bereichs, in dem RefEdit-Steuerelement gespeichert erstellen.

Userform and Ranges in Excel VBA

Um diese Userform zu erstellen, führen Sie die folgenden Schritte.

  1. Öffnen Sie den Visual Basic-Editor. Wenn das 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 unten aufgebaut werden.

Userform Screen Setup in Excel VBA

  1. das Etikett, RefEdit-Steuerelement und Befehlsschaltflächen hinzufügen. Sobald dies abgeschlossen ist, sollte das Ergebnis mit dem Bild von der Userform gezeigt früher konsistent sein. Erstellen Sie zum Beispiel auf RefEdit aus der Toolbox ein RefEdit-Steuerelement, indem Sie auf. Als nächstes können Sie ein RefEdit-Steuerelement auf dem Benutzerformular ziehen.

Hinweis: Wenn Sie Ihre Toolbox, setzen Steuerung einen Verweis auf RefEdit keine RefEdit Kontrolle haben. Klicken Sie auf Extras, Verweise, und Ref Edit Control überprüfen.

  1. Sie können die Namen ändern und die Beschriftungen der Kontrollen. Die Namen werden in dem Excel-VBA-Code verwendet. Bildunterschriften sind diejenigen, die auf dem Bildschirm angezeigt. Es empfiehlt sich, die Namen der Kontrollen zu ändern, aber es ist hier nicht notwendig, da wir nur wenige Kontrollen in diesem Beispiel haben. Um die Beschriftung der Userform, Etiketten- und Befehlsschaltflächen zu ändern, klicken Sie auf Ansicht, Eigenschaften-Fenster und klicken Sie auf jede Kontrolle.

  2. die Userform zu zeigen, eine Befehlsschaltfläche auf dem Arbeitsblatt platzieren und die folgende Codezeile hinzu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Wir werden jetzt die Sub UserForm_Initialize zu erstellen. Wenn Sie die Show-Methode für die Userform verwenden, wird diese Unter automatisch ausgeführt werden.

  1. Öffnen Sie den Visual Basic-Editor.

  2. Geben Sie in dem Projekt-Explorer direkt auf UserForm1 und klicken Sie dann auf Code anzeigen klicken.

Wählen Sie Userform aus der linken Dropdown-Liste 8.. Wählen Sie Initialisieren von der rechten Dropdown-Liste.

  1. die folgenden Codezeilen hinzu:

Private Sub UserForm_Initialize()

Sheet1.Cells.Font.Color = vbBlack

UserForm1.RefEdit1.Text = Selection.Address

End Sub

Erläuterung: Die erste Codezeile ändert sich die Schriftfarbe aller Zellen auf sheet1 bis schwarz. Die zweite Codezeile erhält die Adresse der aktuellen Auswahl und zeigt sie in der RefEdit Kontrolle.

Wir haben nun den ersten Teil der Userform erstellt. Obwohl es schon ordentlich aussieht, wird noch nichts geschehen, wenn wir die Befehlsschaltflächen auf der Userform klicken.

  1. In dem Projekt-Explorer, klicken Sie doppelt auf UserForm1.

  2. Klicken Sie doppelt auf die Schaltfläche Go.

  3. Fügen Sie die folgenden Codezeilen:

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

Erläuterung: Erstens erhalten wir die Adresse aus dem RefEdit-Steuerelement und speichern sie in das String-Variable-Adr. Als nächstes stellen wir auf den Bereich rng in RefEdit-Steuerelement festgelegt. Als nächstes verwenden wir die Tabellenfunktion Min den minimalen Wert im Bereich zu finden. Schließlich färben wir den Minimalwert (e) mit einer Schleife.

  1. Klicken Sie doppelt auf die Schaltfläche Abbrechen.

  2. Fügen Sie den folgenden Code-Zeile:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Erläuterung: Diese Codezeile schließt die Userform, wenn Sie auf die Schaltfläche Abbrechen klicken.

  1. Testen Sie die Userform.

Ergebnis:

Userform and Ranges Result