HERBERS Excel-Forum - das Archiv
Befehlsschaltfläche/Zellen auslesen/Berechnung
Simon

Hallo zusammen,
ich wollte fragen, ob mir jmd helfen könnte, ich bin VBA Anfänger und wir müssen ein kleines Programm schreiben von der Schule aus.
Und zwar habe ich ein Excelsheet erstellt, dass nach Drücken einer Befehlsschaltfläche Berechnungen durchführen soll
Alle zur Berechnung benötigten Werte habe in Zellen abgelegt:
https://www.herber.de/bbs/user/66353.xls
Zur Berechnung sind 5 Formeln aus der Kunststofftechnik nötig die ich nicht hinterlegt habe, zur Berechnung aber benötige.
Muss ich die Formeln auch in Zellen speichern und quasi alle benötigten Zwischenergebnisse versteckt hinterlegen oder müssen die Formeln direkt im VB-Skript integriert werden oder wie löse ich das am besten?
Wie lese ich danach die Werte aus den Zellen aus um sie mit der Befehlsschaltfläche zu verknüpfen?
Meine Idee war alle Berechnungsformeln in ein 2. verborgenes Tabellenblatt zu hinterlegen, wenn das geht und dann beim Druck auf die Befehlsschaltfläche das Endergebniss dort auszulesen und in die Zelle C23 als Ergebniss zu kopiern.
Wenn ja wie blende ich ein Tabellenblatt aus, auf dessen Werte ich aber weiterhin zugreifen will?
Hoffe Ihr versteht was ich mein :)
Danke schon mal für euer Bemühen.
Viele Grüße
Simon :)

AW: Befehlsschaltfläche/Zellen auslesen/Berechnung
Josef

Hallo Simon,
wenn du das per VBA lösen musst, dann würde ich die Berechnungen auch direkt
in VBA erledigen und nur das Ergebnis ausgeben.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
  Dim dblDruckabfall As Double, dblDiam As Double, dblLaenge As Double
  Dim dblArrh As Double, dblTakt As Double, dblTnull As Double
  Dim dblVisNull As Double, dblCarreauB As Double, dblCarreauC As Double
  Dim dblViskoExp As Double, dblDichte As Double, dblVolStrom As Double
  Dim dblResVolStrom As Double, dblResDurchsatz As Double
  
  'Variablen füllen
  dblDruckabfall = Range("C3")
  dblDiam = Range("C4")
  dblLaenge = Range("C5")
  dblArrh = Range("C9")
  dblTakt = Range("C10")
  dblTnull = Range("C11")
  dblVisNull = Range("C12")
  dblCarreauB = Range("C13")
  dblCarreauC = Range("C14")
  dblViskoExp = Range("C15")
  dblDichte = Range("C16")
  dblVolStrom = Range("C17")
  
  'berechnungen durchführen
  'beispiel
  dblResVolStrom = dblDruckabfall * dblLaenge
  
  dblResDurchsatz = dblResVolStrom * dblDiam
  
  'Ergebnis ausgeben
  Range("C21") = dblResVolStrom
  Range("C23") = dblResDurchsatz
End Sub

Gruß Sepp

AW: Befehlsschaltfläche/Zellen auslesen/Berechnung
Simon

Dank Dir Sepp für die schnelle Antwort.
Ja ich denke das ist dann angebrachter.
Werde es so mal probieren, vielen Dank.
Grüße Simon
AW: Befehlsschaltfläche/Zellen auslesen/Berechnung
Simon

Hallo ich bins nochmal,
habe jetzt nochmals paar Fragen zum folgendem Sheet:
https://www.herber.de/bbs/user/66355.xls
Und zwar muss ich in Zelle C17 einen Startwert vorgeben (manuell und nicht überschreiben), mit diesem dann in Zelle C23 ein Wert berechnet wird. Mit Zelle C23 wird Zelle C24 berrechnet und mit Zelle C24 wiederum ein neuer Wert in Zelle C22 der den Startwert aus C17 ersetzt. Mit C22 wird dann in einer neuen Schleife wieder C24 und C23 berrechnet und damit ein neuer Wert für Celle C22 und so weiter.
Dies soll solang durchgeführt werden bis sich der Wert in Zelle C22 nicht mehr verändert, der Volumenstrom also seinen richtigen Wert erreicht hat.
Dann erst soll ein Durchsatzergebnis in Zelle C26 ausgegeben werden.
Ich hoffe Ihr könnt mir helfen, danke dafür schon mal
Gruß Simon