Select Case begrenzen
22.09.2003 17:35:14
Elmar Steigenberger
Kann ich irgendwie bestimmt Select Case Anweisungen begrenzen?
Folgendes Makro:
aktuelleZelle = ActiveCell.Row
Select Case aktuelleZelle
Case Is < 10: Wohnung = 0
Case 10 To 14: Wohnung = 1
Case 15 To 19: Wohnung = 2
Case 20 To 24: Wohnung = 3
Case 25 To 29: Wohnung = 4
Case 30 To 34: Wohnung = 5
Case 35 To 39: Wohnung = 6
Case 40 To 44: Wohnung = 7
Case 45 To 49: Wohnung = 8
Case 50 To 54: Wohnung = 9
Case 55 To 59: Wohnung = 10
Case 60 To 64: Wohnung = 11
Case 65 To 69: Wohnung = 12
Case 70 To 14: Wohnung = 13
Case 75 To 79: Wohnung = 14
Case 80 To 84: Wohnung = 15
Case 85 To 89: Wohnung = 16
Case 90 To 94: Wohnung = 17
Case 95 To 99: Wohnung = 18
Case 100 To 104: Wohnung = 19
Case 105 To 109: Wohnung = 20
Case Else: MsgBox "Bitte klicken Sie auf eine beliebige in die Zelle exakt in der Zeile, in der Sie z.B. einen Mieterwechsel durchführen wollen!": Wohnung = 99
End Select
If Wohnung = 99 Then GoTo Ende
Schutz = Worksheets("wD").Range("m1")
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Selection.AutoFilter Field:=5
If Wohnung <> 0 Then Selection.AutoFilter Field:=1, Criteria1:=CStr(Wohnung)
If Schutz = 1 Then ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Ende:
=================
Hintergrund:
Ein Blatt mit einer Tabelle mit Wohnungen. Der Makro soll bei Aufruf nur eine bestimmte Wohnung anzeigen. Prinzipiell ist immer gefiltert nach Spalte 5, wenn der Makro läuft, dann wird auch noch gefiltert nach Spalte 1.
Die entsprechende Wohnung wird über das Anklicke der Zelle bestimmt.
Wenn jemand zwischen 10 und 14 klickt ist es Wohnung 1, zw 15 und 19 Wo 2, ...
Wenn jemand oberhalb des Bereichs klickt wird der Autofilter nicht geändert
Wenn jemand unterhalb des Bereichs klickt (> 109) dann wird der Makro nicht aufgerufen, sondern die MsgBox eingeblendet.
Manchmal geht aber mein Bereich nicht bis 109, sondern hört vorher auf, zb bei 69, wenn es 12 Wohnungen sind und bei 84, wenn es 15 Wohnungen sind.
Wenn jetzt in solchen Dateien jemand z.B. in die Zeile 100 klickt, wird nach den Wohnungen gefiltert, die es gar nicht gibt
Die Variable, die die Anzahl der Wohnungen definiert, heißt AW (AnzahlWohnungen) Die Anzahl der Zeilen berechnet sich aus AW*5.
kann man irgendwie das in die Select-Anweisung einbauen, dass er früher aufhören muß, wenn AW*5 kleiner ist als der Bereich im Case abgefragte Bereich?
Vielen Dank fürs Lesen, Eindenken und Antworten!
liebe Grüße
Elmar
liebe e-Grüße
Elmar