VBA in Excel/ Kombinationen
Erste leere Zelle ermitteln
[Bearbeiten]Es wird zuerst geprüft, ob Zelle A1 einen Wert besitzt. Wenn nein, wird die Prozedur verlassen. Danach wird der Zeilenzähler initialisiert. Es folgt eine Schleife über alle Zellen in Spalte A, bis die erste leere Zelle erreicht wird. Die Adresse der ersten leeren Zelle wird in einer MsgBox ausgegeben.
Sub GeheBisLeer()
Dim intRow As Integer
If IsEmpty(Range("A1")) Then Exit Sub
intRow = 1
Do Until IsEmpty(Cells(intRow, 1))
intRow = intRow + 1
Loop
MsgBox "Letzte Zelle mit Wert: " & _
Cells(intRow - 1, 1).Address(False, False)
End Sub
UserForm-Optionsfeld nach Tageszeit aktivieren
[Bearbeiten]Über die SelectCase-Anweisung wird die aktuelle Stunde bestimmt und hierüber die Tageszeit bzw. das entsprechende Optionsfeld aktiviert. Die Prozedur kommt in das Klassenmodul der UserForm.
Private Sub UserForm_Initialize()
Select Case Hour(Time)
Case Is > 18: optAbend.Value = True
Case Is > 12: optMittag.Value = True
Case Is > 6: optMorgen.Value = True
End Select
End Sub
Aktiviertes UserForm-Optionsfeld ermitteln
[Bearbeiten]Es wird zuerst eine Objektvariable für das Control-Objekt initialisiert. Danach werden alle Controls der UserForm durchlaufen. Treffen die Bedingungen, dass es sich um ein Optionsfeld handelt und dass es aktiviert ist zu, dann wird eine entsprechende Meldung ausgegeben und die Schleife beendet.
Private Sub cmdWert_Click()
Dim cnt As Control
For Each cnt In Controls
If Left(cnt.Name, 3) = "opt" And cnt.Value = True Then
MsgBox "Optionsfeld " & cnt.Name & " ist aktiviert!"
Exit Sub
End If
Next cnt
End Sub