leider bin ich blutiger Anfänger und brauche deswegen Hilfe.
Ich habe mir berechnungstool gebastelt, das eigentlich nur aus Functions besteht.
Zur Erklärung es geht um eine Behälterberechnung. Ich habe jetzt in jede Zelle die jeweiligen Funktionen geschrieben. Das ganze soll nun auch auf Basis eines anderen Volumens funktionieren, am liebsten über das betätigen der Schaltfläche.
Mein Problem ist jetzt, dass funktioniert soweit auch, aber ich habe immer mit Cells(x,y) gearbeitet, damit lege ich ja die genaue position fest. Ich möchte aber, dass die berechnung mehrfach durchgeführt werden kann und in das Tabellenblatt geschrieben wird. Also Volumen 1 in spalte G, Volumen 2 in Spalte H usw.
Vielen Dank schonmal im vorraus!
Der Code schaut so aus.
Option Explicit
Sub SkaBehaelter()
'1. Kopieren von konstanten Werten______________________________
Range("D8:D10").Copy Destination:=Range("G8:G10") 'konstanten Werte kopieren und schreiben ( _
Viskosität,Dichte,Temperatur)
Range("D17:D18").Copy Destination:=Range("G17:G18") 'konstanten Werte kopieren und schreiben ( _
_
_
Behälterform)
Range("D15").Copy
Cells(15, 7).PasteSpecial Paste:=xlValues 'nur den Wert von H/D übernehmen
'2. Hilfswerte Abfragen
Select Case Cells(13, 7) 'Wandstärke Zarge
Case 0 To 100
Cells(24, 7) = Sheets("Hilfsdaten").Range("L21").Value
Case 101 To 500
Cells(24, 7) = Sheets("Hilfsdaten").Range("L22").Value
Case 501 To 2000
Cells(24, 7) = Sheets("Hilfsdaten").Range("L23").Value
Case Else
Cells(24, 7) = "keine Hilfsdaten vorhanden"
End Select
Select Case Cells(17, 7) 'Wandstärke Deckel
Case "gewölbter Boden"
Select Case Cells(13, 7)
Case 0 To 100
Cells(25, 7) = Sheets("Hilfsdaten").Range("M21").Value
Case 101 To 500
Cells(25, 7) = Sheets("Hilfsdaten").Range("M22").Value
Case 501 To 2000
Cells(25, 7) = Sheets("Hilfsdaten").Range("M23").Value
Case Else
Cells(25, 7) = "keine Hilfsdaten vorhanden"
End Select
Case "Flacher Boden"
Select Case Cells(13, 7)
Case 0 To 100
Cells(25, 7) = Sheets("Hilfsdaten").Range("N21").Value
Case 101 To 500
Cells(25, 7) = Sheets("Hilfsdaten").Range("N22").Value
Case 501 To 2000
Cells(25, 7) = Sheets("Hilfsdaten").Range("N23").Value
Case Else
Cells(25, 7) = "keine Hilfsdaten vorhanden"
End Select
End Select
Select Case Cells(17, 7) 'Wandstärke Boden
Case "gewölbter Boden"
Select Case Cells(13, 7)
Case 0 To 100
Cells(26, 7) = Sheets("Hilfsdaten").Range("O21").Value
Case 101 To 500
Cells(26, 7) = Sheets("Hilfsdaten").Range("O22").Value
Case 501 To 2000
Cells(26, 7) = Sheets("Hilfsdaten").Range("O23").Value
Case Else
Cells(26, 7) = "keine Hilfsdaten vorhanden"
End Select
Case "Flacher Boden"
Select Case Cells(13, 7)
Case 0 To 100
Cells(26, 7) = Sheets("Hilfsdaten").Range("P21").Value
Case 101 To 500
Cells(26, 7) = Sheets("Hilfsdaten").Range("P22").Value
Case 501 To 2000
Cells(26, 7) = Sheets("Hilfsdaten").Range("P23").Value
Case Else
Cells(26, 7) = "keine Hilfsdaten vorhanden"
End Select
End Select
'Hilfswerte Berechnung
Cells(38, 7) = (3.5 * Cells(25, 7)) 'Bordhöhe Klöpperboden Deckel
Cells(39, 7) = (3.5 * Cells(26, 7)) 'Bordhöhe Klöpperboden Boden
Cells(40, 7) = (Cells(21, 7) + (2 * Cells(26, 7))) 'Außendurchmesser ohne Mantel
'3. Neuberechnung vom Innendurchmesser
Cells(21, 7) = InnD((Cells(13, 7)), (Cells(15, 7)), (Cells(18, 7))) * 1000
'4. Berechnung zylindrische Höhe
Cells(19, 7) = (Cells(19, 4) / Cells(21, 4)) * Cells(21, 7)
'5. Innenhöhe berechnen
Cells(20, 7) = InnH(Cells(19, 7), Cells(21, 7), Cells(17, 7), Cells(18, 7), Cells(25, 7), Cells( _
_
_
26, 7))
'___________________________________________________________________________________
'6. Flüssigkeitshöhe
Cells(22, 7) = hfl(Cells(21, 7), Cells(39, 7), Cells(18, 7), Cells(13, 7), Cells(26, 7))
'7. Innenfläche
Cells(23, 7) = InnA(Cells(21, 7), Cells(19, 7), Cells(38, 7), Cells(39, 7), Cells(18, 7), Cells( _
_
_
17, 7))
'8. Massen
Cells(30, 7) = M_Deckel(Cells(21, 7), Cells(38, 7), Cells(17, 7), Cells(24, 7), Cells(25, 7)) ' _
_
_
Deckel
Cells(31, 7) = M_Zyl(Cells(21, 7), Cells(19, 7), Cells(24, 7)) 'Zarge
Cells(32, 7) = M_Boden(Cells(21, 7), Cells(39, 7), Cells(18, 7), Cells(24, 7), Cells(26, 7)) ' _
_
_
Boden
Cells(34, 7) = Cells(9, 7) * (Cells(13, 7) / 1000) 'Inhalt
Cells(35, 7) = WorksheetFunction.Sum(Range("G30:G34").Value)
End Sub