Wenn Ausgangszelle <93, dann Blatt 93 und such Nr.
12.07.2004 18:55:27
thomas
Mit untenstehendem Makro (von Luschi et al.) kann ich die Abstammungslinien meiner Taubenzucht einfach verfolgen. Jede Taube hat einen Ring mit einer Nummer nach folgender Struktur: Jahrgang / Nummer. Für jeden Jahrgang habe ich ein eigenes Blatt (Beginn: 93).
Von der Ausgangszelle in Spalte C oder I (Jahrgang von Vater oder Mutter) springt das Makro auf das richtige Blatt und findet dann auch das richtige Nummero, das sich immer in der Zelle rechts neben dem Jahrgang befindet. Soweit alles perfekt.
Derzeit gibt das Makro aber noch einen Fehler raus, wenn sich in der Ausgangszelle ein Jahrgang kleiner als '93 befindet. Zu den kleiner als '93 Jahrgängen existieren nämlich keine eigenen Blätter, diese sind alle im Blatt '93 integriert.
Perfekt wäre nun, wenn das Makro für den Fall, dass sich in der Ausgangszelle ein String kleiner als '93 befindet es auch auf das 93er Blatt springt und dort wieder die richtige Nummer findet, die sich immer in der Spalte rechts neben dem Jahrgang befindet (der Jahrgang ist eigentlich belanglos, da es vor 93 keine doppelten Nummern gibt und also Eineindeutigkeit über die Nummer gegeben ist.)
Alles klar?
Danke für allfällige Hilfe!
thomas
Sub Seitenwahl()
'Tastenkombination: Strg a
Dim iWks As Integer, r1 As Range, r2 As Range
Dim sp As Integer, ro As Integer, s1 As String, s2 As String
sp = ActiveCell.Column
If sp = 3 Or sp = 9 Then
ro = ActiveCell.Row
s1 = ActiveCell.Value
'Zellinhalt der rechten Nachbarzelle
s2 = Range(Cells(ro, sp + 1), Cells(ro, sp + 1)).Value
For iWks = 1 To Worksheets.Count
If Worksheets(iWks).Name = s1 Then
Worksheets(iWks).Activate
Exit For
End If
Next iWks
Else
MsgBox "Zelle in falscher Spalte aktiv"
Exit Sub
End If
's2 suchen
Set r1 = Worksheets(s1).Range("B1:B300")
For Each r2 In r1
If r2.Value = s2 Then
r2.Activate
Exit For
End If
Next r2
End Sub