Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
16.08.2018 20:59:56 |
David |
|
|
|
16.08.2018 21:14:33 |
Gast33572 |
|
|
|
16.08.2018 21:22:02 |
David |
|
|
|
17.08.2018 02:50:40 |
Glue |
|
|
|
17.08.2018 02:59:13 |
Glue |
|
|
|
17.08.2018 07:30:31 |
David Beutlin |
|
|
Rechenoperation wird nicht ausgeführt |
17.08.2018 14:04:47 |
Gast42379 |
|
|
|
17.08.2018 14:09:41 |
Gast94704 |
|
|
Von:
Gast42379 |
Datum:
17.08.2018 14:04:47 |
Views:
604 |
Rating:
|
Antwort:
|
Thema:
Rechenoperation wird nicht ausgeführt |
Super, damit läst sich schon mehr anfangen. ;-)
Hier mal das Beispiel mit abgelegten Daten in einem Tabellenblatt (was man dann später schreibschützen und/oder verstecken kann).
'UserForm: 'Biegemaske'
Option Explicit
Private Sub CommandButton12_Click() '<- Schaltfläche sollte einen aussagekräftigeren Namen bekommen
Dim C As Double 'C-Faktor
'# C-Faktor anhand des ausgewählten Materials/Werkstoffs ermitteln
'... von einem Tabellenblatt beziehen (z.B. Werkstoffs-Bezeichnung, eine(1) Spalte rechts)
' ("_WerkstoffListe" ein zuvor ersteller Bereichs-Name in Excel)
C = Worksheets("Werkstoffe").Range("_WerkstoffListe").Cells(1).Offset(ComboBox1.ListIndex, 1).Value '< hier wird die erste Zelle im Bereich um X Zeilen (ListIndex) nach unten verschoben
' und um eine(1) Spalte nach rechts, wo dann (hier angenommen) der C-Faktor steht
' '... ODER direkt hier im Quellcode angegeben
' If ComboBox1 = "Stahlblech" Then
' C = 0.6
' ElseIf ComboBox1 = "Tiefziehblech" Then
' C = 0.3
' ElseIf ComboBox1 = "Rostfreier Stahl (mart. ferrit.)" Then
' C = 0.8
' ElseIf ComboBox1 = "Rostfreier Stahl (austenitisch)" Then
' C = 0.5
' ElseIf ComboBox1 = "Kupfer" Then
' C = 0.25
' ElseIf ComboBox1 = "Zinnbronze" Then
' C = 0.6
' ElseIf ComboBox1 = "Aluminiumbronze" Then
' C = 0.5
' ElseIf ComboBox1 = "CuZn28" Then
' C = 0.3
' ElseIf ComboBox1 = "CuZn40" Then
' C = 0.35
' ElseIf ComboBox1 = "Zink" Then
' C = 0.4
' ElseIf ComboBox1 = "Alu (Weich)" Then
' C = 0.6
' ElseIf ComboBox1 = "Alu (Halbhart)" Then
' C = 0.9
' ElseIf ComboBox1 = "Alu (Hart)" Then
' C = 2
' ElseIf ComboBox1 = "AlMg3 (weich)" Then
' C = 1
' ElseIf ComboBox1 = "AlMg3 (Hart)" Then
' C = 1.3
' ElseIf ComboBox1 = "AlMg7 (weich)" Then
' C = 2
' ElseIf ComboBox1 = "AlMg7 (hart)" Then
' C = 3
' ElseIf ComboBox1 = "AlMg9 (weich)" Then
' C = 2.2
' ElseIf ComboBox1 = "AlMg9 (hart)" Then
' C = 5
' ElseIf ComboBox1 = "AlMgSi (weich)" Then
' C = 1.2
' ElseIf ComboBox1 = "AlMgSi (hart)" Then
' C = 2.5
' ElseIf ComboBox1 = "AlSi (weich)" Then
' C = 0.8
' ElseIf ComboBox1 = "AlSi (hart)" Then
' C = 6
' ElseIf ComboBox1 = "AlMn (weich)" Then
' C = 1
' ElseIf ComboBox1 = "AlMn (hart)" Then
' C = 1.2
' ElseIf ComboBox1 = "AlMn (preßhart)" Then
' C = 1.2
' ElseIf ComboBox1 = "AlCu (weich)" Then
' C = 1
' ElseIf ComboBox1 = "AlCu (hart)" Then
' C = 3
' ElseIf ComboBox1 = "AlCuMg (weich)" Then
' C = 1.2
' ElseIf ComboBox1 = "AlCuMg (preßhart)" Then
' C = 1.5
' ElseIf ComboBox1 = "AlCuMg (hart)" Then
' C = 3
' ElseIf ComboBox1 = "AlCuNi (geglüht)" Then
' C = 1.4
' ElseIf ComboBox1 = "AlCuNi (ungeglüht)" Then
' C = 3.5
' ElseIf ComboBox1 = "MgMn" Then
' C = 5
' ElseIf ComboBox1 = "MgAl6" Then
' C = 3
' End If
'<Berechnung_hier>
End Sub
Private Sub UserForm_Initialize()
'# Steuerelemente initialisieren
With ComboBox1 '> Liste mit Materialien/Werkstoffe
'... von einem Tabellenblatt beziehen
' ("_WerkstoffListe" ein zuvor ersteller Bereichs-Name in Excel)
' .RowSource = Worksheets("Werkstoffe").Range("_WerkstoffListe").Address(External:=True)
'bzw. auch so:
.List = Worksheets("Werkstoffe").Range("_WerkstoffListe").Value
' '... ODER direkt hier im Quellcode angegeben
' .AddItem "Stahlblech"
' .AddItem "Tiefziehblech"
' .AddItem "Rostfreier Stahl (mart. ferrit.)"
' .AddItem "Rostfreier Stahl (austenitisch)"
' .AddItem "Kupfer"
' .AddItem "Zinnbronze"
' .AddItem "Aluminiumbronze"
' .AddItem "CuZn28"
' .AddItem "CuZn40"
' .AddItem "Zink"
' .AddItem "Alu (Weich)"
' .AddItem "Alu (Halbhart)"
' .AddItem "Alu (Hart)"
' .AddItem "AlMg3 (weich)"
' .AddItem "AlMg3 (Hart)"
' .AddItem "AlMg7 (weich)"
' .AddItem "AlMg7 (hart)"
' .AddItem "AlMg9 (weich)"
' .AddItem "AlMg9 (hart)"
' .AddItem "AlMgSi (weich)"
' .AddItem "AlMgSi (hart)"
' .AddItem "AlSi (weich)"
' .AddItem "AlSi (hart)"
' .AddItem "AlMn (weich)"
' .AddItem "AlMn (hart)"
' .AddItem "AlMn (preßhart)"
' .AddItem "AlCu (weich)"
' .AddItem "AlCu (hart)"
' .AddItem "AlCuMg (weich)"
' .AddItem "AlCuMg (preßhart)"
' .AddItem "AlCuMg (hart)"
' .AddItem "AlCuNi (geglüht)"
' .AddItem "AlCuNi (ungeglüht)"
' .AddItem "MgMn"
' .AddItem "MgAl6"
If .ListCount > 0 Then .ListIndex = 0
End With
End Sub
Der Vorteil beim ablegen der ganzen Daten (Werkstoffe und zugehöriger Eigenschaften wie z.B. C-Faktor) ist der, das man den Code nicht anpassen muss, sondern die Liste im Tabellenblatt einfach ändert. Der Quellcode wird dadurch auch erheblich kürzer und es ist weniger fehleranfällig (unterschiedliche Schreibweise der Werkstoffe im Quellcode führt zu mitunter schwer zu findenen Fehlern, die Zuordnung von Werkstoff-Eigenschaften zu Werkstoff im Quellcode ist einfach nur schildbürgerlich kompliziert).
Grüße
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
16.08.2018 20:59:56 |
David |
|
|
|
16.08.2018 21:14:33 |
Gast33572 |
|
|
|
16.08.2018 21:22:02 |
David |
|
|
|
17.08.2018 02:50:40 |
Glue |
|
|
|
17.08.2018 02:59:13 |
Glue |
|
|
|
17.08.2018 07:30:31 |
David Beutlin |
|
|
Rechenoperation wird nicht ausgeführt |
17.08.2018 14:04:47 |
Gast42379 |
|
|
|
17.08.2018 14:09:41 |
Gast94704 |
|
|