Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Range mit Userform Bestimmen und berechnen
07.04.2015 10:17:54
Robin
Hallo,
ich versuche mein Problem mal mit der angehängten Datei unten zu erklären:
Auf meinem ersten Tabellenblatt habe ich einen Button, der eine Userform aufruft. In dieser Userform wird man gebeten, zwei Werte einzugeben, nämlich einen Minimum und einen Maximumwert.
Diese Werte (als Beispiel -0,2 und 0,2) beziehen sich auf die Tabellenblätter Hersteller: Also um genau zu sein geht es um die Tabellenblätter 2 bis X-1, da immer neue Tabellenblätter an der vorletzten Stelle mit neuen Herstellern dazu kommen.
Diese Minimum und Maximum-Werte beziehen sich auf die Spalte A in diesen Hersteller-Blättern. Dort gibt es vier mal die Bereiche -0,2 bis 0,2. Zu diesen Werten in Spalte A gehören auch immer Werte in Spalte B und C. Aus diesen möchte ich jeweils die Steigungen und die Konstanten berechnen. So steht es ja schon mal in Spalte E-H, wobei das natürlich automatisch beim ausführen passieren soll mit den MinMax-Werten, die in der Userform angegeben werden.
Diese Berechnungen sollen dann wie in der Beispieldatei untereinander geschrieben werden.
Ich hoffe, es ist halbwegs verständlich.
Vielen Dank!
https://www.herber.de/bbs/user/96899.xlsm

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range mit Userform Bestimmen und berechnen
08.04.2015 01:39:42
Markus
Hallo Robin
Hier der Code der die Formeln einträgt:

Private Sub CommandButton1_Click()
'Call Berechnungen_ausfuehren()
Dim i As Long, s As Long, r As Long
Dim AnzRows As Long
Dim rMin As Long, rMax As Long
Dim MinWert As Double, MaxWert As Double
MinWert = TextBox1.Value
MaxWert = TextBox2.Value
For s = 2 To Sheets.Count - 1
rMin = 0
rMax = 0
With Sheets(s)
' bestehende Formeln löschen
.Range("E3:H6").ClearContents
' Anzahl vorhandene Zeilen ermitteln
AnzRows = .Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To 4
' Minimumwert suchen
For r = rMin + 1 To AnzRows
If .Cells(r, 1).Value = MinWert Then
rMin = r
Exit For
End If
Next
' Maximumwert suchen
For r = rMin + 1 To AnzRows
If .Cells(r, 1).Value = MaxWert Then
rMax = r
Exit For
End If
Next
' Formeln in Blatt eintragen
.Range("E" & i + 2).Formula = _
"=SLOPE(B" & rMin & ":B" & rMax & ",A" & rMin & ":A" & rMax & ")"
.Range("F" & i + 2).Formula = _
"=INTERCEPT(C" & rMin & ":C" & rMax & ",B" & rMin & ":B" & rMax & ")"
.Range("G" & i + 2).Formula = _
"=SLOPE(C" & rMin & ":C" & rMax & ",A" & rMin & ":A" & rMax & ")"
.Range("H" & i + 2).Formula = _
"=INTERCEPT(C" & rMin & ":C" & rMax & ",A" & rMin & ":A" & rMax & ")"
Next
End With
Next
' 1. Herstellerblatt aktivieren
Sheets(2).Activate
' UserForm schliessen
Unload Me
End Sub
Gruss
Markus

Anzeige
AW: Range mit Userform Bestimmen und berechnen
08.04.2015 08:12:38
Robin
Super, vielen Dank!

AW: Range mit Userform Bestimmen und berechnen
08.04.2015 09:14:36
Markus
Hallo Robin
Hier noch eine kleine Verbesserung um bei fehlender oder falscher Eingabe einen Laufzeitfehler zu verhindern:
If IsNumeric(TextBox1.Value) And IsNumeric(TextBox2.Value) Then
MinWert = TextBox1.Value
MaxWert = TextBox2.Value
Else
MsgBox "Geben Sie für Minimum und Maximum eine Zahl ein!", vbExclamation
Exit Sub
End If
Gruss Markus

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige