AW: Funktionen auch in anderen Tabellenblättern nutzen
15.02.2004 19:40:02
MaddinP
Die ganze Funktion hate insgesamt über 2700 Zeilen, deswegen habe ich hier nur eine
Ausschnitt. Die Felder, die hier ausgelesen werden, befinden sich auf einem Tabellen-
blatt mit dem Namen "Kostenmatrix" bzw. Sheet12. Das ganze funktioniert einwandfrei,
wenn ich die funktion im Tabellenblatt Kostenmatrix auch aufrufe, aber leider nicht
in den anderen Tabellenblättern. Ich habe nirgendwo gefunden, wie ich mit vba auf
andere Tabellenblätter zugreife, als das gerade aktive Tabellenblatt.
Dim gewicht As Integer
Dim preis As Long
Dim Faktor5t As String
Dim Faktor10t As String
Dim Faktor15t As String
Dim FaktorMaxt As String
Dim Sgew5t As Long
Dim Sgew10t As Long
Dim Sgew15t As Long
Dim SgewMaxt As Long
Dim entfernung As String
Function lkosten(gewicht, entfernung)
If entfernung > 1 And entfernung <= 40 Then
lkosten = lkosten40(gewicht)
ElseIf entfernung > 40 And entfernung <= 75 Then
lkosten = lkosten75(gewicht)
ElseIf entfernung > 75 And entfernung <= 100 Then
lkosten = lkosten100(gewicht)
ElseIf entfernung > 100 And entfernung <= 150 Then
lkosten = lkosten150(gewicht)
ElseIf entfernung > 150 And entfernung <= 200 Then
lkosten = lkosten200(gewicht)
ElseIf entfernung > 200 And entfernung <= 250 Then
lkosten = lkosten250(gewicht)
ElseIf entfernung > 250 And entfernung <= 300 Then
lkosten = lkosten300(gewicht)
ElseIf entfernung > 300 And entfernung <= 350 Then
lkosten = lkosten350(gewicht)
ElseIf entfernung > 350 And entfernung <= 400 Then
lkosten = lkosten400(gewicht)
ElseIf entfernung > 400 And entfernung <= 500 Then
lkosten = lkosten500(gewicht)
ElseIf entfernung > 500 And entfernung <= 600 Then
lkosten = lkosten600(gewicht)
ElseIf entfernung > 600 And entfernung <= 700 Then
lkosten = lkosten700(gewicht)
ElseIf entfernung > 700 And entfernung <= 800 Then
lkosten = lkosten800(gewicht)
ElseIf entfernung > 800 And entfernung <= 900 Then
lkosten = lkosten900(gewicht)
ElseIf entfernung > 900 And entfernung <= 1000 Then
lkosten = lkosten1000(gewicht)
ElseIf entfernung > 1000 And entfernung <= 1100 Then
lkosten = lkosten1100(gewicht)
ElseIf entfernung > 1100 And entfernung <= 1200 Then
lkosten = lkosten1200(gewicht)
ElseIf entfernung > 1200 Then
lkosten = manuell
End If
End Function
Function lkosten40(gewicht)
Faktor5t = Range("C64").Value
Faktor10t = Range("C65").Value
Faktor15t = Range("C66").Value
FaktorMaxt = Range("C67").Value
Sgew5t = Range("C69").Value
Sgew10t = Range("C70").Value
Sgew15t = Range("C71").Value
SgewMaxt = Range("C72").Value
If gewicht > 1 And gewicht <= 10 Then
lkosten40 = Range("C2").Value
ElseIf gewicht > 10 And gewicht <= 20 Then
lkosten40 = Range("C3").Value
End Funtion