mit 'Case' zerstört Verweise
11.02.2015 16:17:26
Adrian
in meiner Datei soll ein Makro nach den Werten aus einem Dropdown-menü Verweis-Formeln in Zellen umschreiben, die Daten aus anderen Sheets mit variablen Namen ziehen.
Wenn ich das Ganze ohne 'Case' durchlaufen lasse, funktioniert es und er zieht erfolgreicht die Daten aus den entsprechenden Sheets.
Mit Case jedoch findet er die Sheets plötzlich nicht mehr.
Dim Projekt1 As String
Dim Projekt2 As String
Dim Projekt3 As String
Dim Projekt4 As String
Dim Projekt5 As String
Projekt1 = Range("B25").Value
Projekt2 = Range("B26").Value
Projekt3 = Range("B27").Value
Projekt4 = Range("B28").Value
Projekt5 = Range("B28").Value
Preisliste1 = "Preise(" & Projekt1 & ")"
Preisliste2 = "Preise(" & Projekt2 & ")"
Preisliste3 = "Preise(" & Projekt3 & ")"
Preisliste4 = "Preise(" & Projekt4 & ")"
Preisliste5 = "Preise(" & Projekt5 & ")"
If Selection.Address = "$H$4" Then
With ActiveSheet
Select Case Target
Case Projekt1
Worksheets("Eingabe").Range("D4").ClearContents
Worksheets("Eingabe").Range("D4").FormulaLocal = "=VERWEIS(2;1/('" & Preisliste1 & "'!$ _
_
A$1:$A$1995=B4);'" & Preisliste3 & "'!$C$1:$C$1995)"
Case Projekt2
Worksheets("Eingabe").Range("D4").ClearContents
Worksheets("Eingabe").Range("D4").FormulaLocal = "=VERWEIS(2;1/('" & Preisliste2 & "'!$ _
_
A$1:$A$1995=B4);'" & Preisliste3 & "'!$C$1:$C$1995)"
Case Projekt3
Worksheets("Eingabe").Range("D4").ClearContents
Worksheets("Eingabe").Range("D4").FormulaLocal = "=VERWEIS(2;1/('" & Preisliste3 & "'!$ _
_
A$1:$A$1995=B4);'" & Preisliste3 & "'!$C$1:$C$1995)"
Case Projekt4
Worksheets("Eingabe").Range("D4").ClearContents
Worksheets("Eingabe").Range("D4").FormulaLocal = "=VERWEIS(2;1/('" & Preisliste4 & "'!$ _
_
A$1:$A$1995=B4);'" & Preisliste3 & "'!$C$1:$C$1995)"
Case Projekt5
Worksheets("Eingabe").Range("D4").ClearContents
Worksheets("Eingabe").Range("D4").FormulaLocal = "=VERWEIS(2;1/('" & Preisliste5 & "'!$ _
_
A$1:$A$1995=B4);'" & Preisliste3 & "'!$C$1:$C$1995)"
End Select
End With
End If
Ohne case fügt er die korrekten verweise ein:
=VERWEIS(2;1/('Preise(Variable)'!$A$1:$A$1995=B10);'Preise(SalesPromotion)'!$C$1:$C$1995)
Mit Case fehlt aus irgendeinem Grund die Variable und er fügt nur folgendes ein
=VERWEIS(2;1/('Preise()'!$A$1:$A$1995=B10);'Preise(SalesPromotion)'!$C$1:$C$1995)