ich habe eine Gültigkeitsliste mit verschiedenen Werten in Tabelle1.
Basierend auf der Auswahl soll dann aus der Tabelle2 der Zellbereich mit dem gleichen Namen rüberkopiert werden neben die Gültigkeitsliste.
Gibt es dafür ne VBA Vorlage?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B11" Then
ThisWorkbook.Names(Target.Value).RefersToRange.Copy Range("C11")
End If
End Sub
Der Code gehört ins Codemodul des Tabellenblattes, auf dem deine Gültigkeitsprüfung ist.Worksheets("Tabelle2").Names(Target.Value).RefersToRange.Copy Range("C11")
Gruß WernerOption Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim copyRange As Range
If Target.Cells(1, 1).Address = "$B$11" Then
If IsEmpty(Target) Then
' Bei leerer Auswahl wird ev. kopierter Bereich gelöscht
Set copyRange = Intersect(Target.Offset(3).Resize(UsedRange.Rows.Count, _
UsedRange.Columns.Count), UsedRange)
If Not copyRange Is Nothing Then copyRange.Clear
Else
' Fehler auf undefinierte Namen abfangen
On Error Resume Next
Set copyRange = ThisWorkbook.Names(Target.Cells(1, 1).Text).RefersToRange
If Err.Number = 0 Then
' Kein Fehler => kopiere benannten Bereich rechts von der Auswahl
copyRange.Copy Target.Offset(3)
Else
' Fehler der Name konnte nicht aufgelöst werden
MsgBox "Der Name " & Target.Cells(1, 1).Text & " ist nicht definiert " & _
"oder entspricht keinem Bereich!", vbCritical
Err.Clear
End If
On Error GoTo 0
End If
End If
End Sub
Gruess Hansueli