Mit Target und Select Case Formel benutzen
22.06.2016 09:00:22
Nermin
Hallo liebe Community,
ich wollte zunächst eine Formel verwenden mit der if funktion, da es aber nur eine Bedingung gibt von der die Verwendung der Formel abhängt habe ich mir gedacht es wäre wesentlich einfacher die Select Case Methode zu verwenden. Code sieht wie folgt aus:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim SPA%, Werkstoff$,Gewicht$
SPA = 14 ' Spalte N Norm
If Not Intersect(Columns(SPA), Target) Is Nothing And Target <> "" Then
If Target.Count = 1 Then
' Nennweiten in mm ergänzen
Select Case Target.Value
Case "ASME B36.10"
Werkstoff = "ASTM A106 Gr.B"
Gewicht=??????????
Case "ASME B36.19"
Werkstoff = "ASTM A312 Gr. TP316L"
Gewicht=??????????
End Select
Target.Offset(0, -1) = Werkstoff
Target.Offset(0, 7) = Gewicht
End If
End If
Err.Clear
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
Application.EnableEvents = True
End Sub
Die Formel für die Berechnung des Gewichts sieht wie folgt aus (die sollte dann da rein wo die Fragezeichen im Code stehen), also so habe ich sie mir gedacht, ob man sie letztendlich so verwenden kann werdet ihr mir hoffentlich sagen ;):
Target.Offset(0, 7).FormulaR1C1 = "=(RC[-10] - RC[-9])*RC[-9]*Pi*7,85/1000"
analog für den zweiten Case:
Target.Offset(0, 7).FormulaR1C1 = "=(RC[-10] - RC[-9])*RC[-9]*Pi*7,97/1000"
Wie kann man das funktionell und einfach zusammenbasteln, dass es läuft? Kann man FormulaR1C1 überhaupt verwenden wenn man mit target arbeitet? Und wie kann ich die Zahl Pi definieren?