es geht einfacher, in welchem Blatt?
29.06.2010 12:17:14
Erich
Hi Peter,
statt Range(rngL.Address) kann man doch einfach rngL schreiben. Das ist sogar genauer.
Hier meine Empfehlung:
Option Explicit
Private Sub Worksheet_Deactivate()
Call DefBereichInBereich("XXX", "LLL", "L")
End Sub
Sub DefBereichInBereich(sGross As String, sKlein As String, sID As String)
Dim rngCell As Range, rngL As Range
For Each rngCell In Range(sGross)
If rngCell.Text = sID Then
If rngL Is Nothing Then
Set rngL = rngCell
Else
Set rngL = Union(rngL, rngCell)
End If
End If
Next
If Not rngL Is Nothing Then
Names.Add sKlein, RefersToLocal:=rngL
MsgBox Range(sKlein).Address(, , , True)
End If
End Sub
Dass bei dir LLL im neuen Blatt angelegt wird, verstehe ich nicht.
Steht der Code von DefBereichInBereich() vielleicht nicht im Klassenmodul der betroffenen Tabelle?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort