Clever-Excel-Forum

Normale Version: Excel Programmierung für Passungsrechner
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich bin gerade dabei eine Automatische Werte und Abweichungstabelle für ein Protokoll zu erstellen.

Leider stehe ich vor einem kompliziertem Problem.

1) Ich möchte einen Sollmaß in einer Zelle eingeben z.B. "100". Sobald ich dann die Passungsart eingebe (Werte kommend aus Wertetabelle: h7, h6, h5, ...) soll Excel Erkennen, dass das Sollmaß z.B. über 80 und zwischen 120 liegt.

2) Jetzt gebe ich in einer anderen Zelle die Passungsart ein (h7, h6, h5, ...). Nun muss EXCEL anhand der Gewählten Passungsart (z.B. h7) und des erkannten Sollmaßes, die Grenzabwerte ablesen.

3) Bei "h7" und einem Maß von 100 wären die Oberste Toleranz 0mm und die Unterste Toleranz -0,04mm

4) Jetzt soll EXCEL die Abgelesenen Werte aus der Wertetabelle (Siehe unterstrichene Werte unter "Punkt 3") jeweils in mein Protokoll kopieren. Diese Werte sollen in meinem Protokoll nicht abgeändert werden dürfen. Wenn die Zelle in meinem Protokoll aber leer ist bzw. keine Passungsart angegeben wurde, soll man auch eine manuelle Toleranzangabe machen dürfen.

5) Dann kann ich mit den Werten weiter rechnen.


Ich hoffe mal, das war verständlich für euch... Das ganze Thema ist nicht so einfach! Leider habe ich bis dato noch nicht wirklich mit makros gearbeitet. Könnte mir jemand weiter helfen?

Danke im voraus!
Hi Andi,

da solltest du mal eine Musterdatei erstellen, wo der gewollte Tabellenaufbau und die Grundlagen (Wertetabellen usw) ersichtlich sind. Händische Mustereintragungen was an Ergebnissen erwartet wird sind auch hilfreich bei der Lösungsfindung.
Datei dann hier im Forum (ohne Schutzeisntellungen) hochladen. Wie es geht siehe hier:  http://www.clever-excel-forum.de/Thread-...ng-stellen
Hi Andi,

(26.11.2015, 09:50)Andi_Koer_1234 schrieb: [ -> ]Ich hoffe mal, das war verständlich für euch... Das ganze Thema ist nicht so einfach! Leider habe ich bis dato noch nicht wirklich mit makros gearbeitet. Könnte mir jemand weiter helfen?

Dazu könnte im Falle des nicht-leeren Bezugs-Feldes eine VERWEIS-Formel oder besser gleich die Toleranz-Werte per VBA (Makro) eingetragen werden und wenn das Bezugsfeld leer ist, wird einfach nichts eingetragen, sondern manuell.
Danke schon mal für die Hilfe!

Also ich werde dann mal meine Pre-Datei posten, wenn es genügend vorbereitet ist.

Ich muss halt erst einmal alle Wertetabellen vervollständigen. Es gibt ca. 50 verschiedene Passungen und jede Toleranz ist vom Betrag des Nennmaßes abhängig. Da kommt man ruck zuck auf 2000 Einträge... Also viel Tipperei. Evtl. nehm ich auch gar nicht alle Passungen mit rein sonden nur die gängigsten. Außerdem brauche ich auch noch einen Protokoll Layout, sonst versteht man nicht was ich haben möchte...

Gruß
Andi
Hallo Andi,

hier mal ein Formelbeispiel. Wichtig ist bei der Tabelle der Passungen, dass Du mit 0 anfängst und das "über" beachtest. Was also in den Tabellenbüchern bei ...3 steht, kommt hier zur 0. Was bei 3...6 steht, kommt zur 3 usw.

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDE
1überh5 j6 
200-44-2
330-56-2
460-67-2
5100-88-3
6     
7 otutgmkm
82j64-22,0041,998
93j66-23,0062,998
104j66-24,0063,998
117j67-27,0076,998

ZelleFormel
B8=INDEX($B$2:$E$5;VERGLEICH(VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)));$A$2:$A$5;1);VERGLEICH(WECHSELN(A8;VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)));"";1);$B$1:$E$1;))
C8=INDEX($B$2:$E$5;VERGLEICH(VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)));$A$2:$A$5;1);VERGLEICH(WECHSELN($A8;VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)));"";1);$B$1:$E$1;)+1)
D8=VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)))+B8/1000
E8=VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)))+C8/1000
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Hallo,

uff also erstmal durchamten. Die Befehle sind ja schon schwer genug zu verstehen wenn man sie nicht kennt. Aber TOP wäre ich wenn du noch eine Definition hättest, damit ich mir eine Übersicht verschaffen kann.

1) In Welcher Zelle ist das "Ist Maß", "Soll-Maß"?
2) Was ist GM und was km?
3) Ich hatte vor, den Maß-Istwert separat in einer Zelle und die Passung (h7, js6,... ) in der Nachbarzelle rechts davon ein zu geben.

Also ich bin nun sowei und möcht jetzt noch folgendes von Excel:
- Erkenne, dass der Aktuelle Messwert aus Zelle A zwischen 0 und ≤ 3 liegt.
- Erkenne, das Toleranzfeld aus Zelle B (z.B. h7)
- Also kopiere Oberes Abmaß in Zelle X und unteres Abmaß in Zelle Y

Verstehen wir uns da richtig?

Gruß
Andreas
Hallo Andreas,

das Istmaß hab ich ja nicht, das muss ja irgendo stehen oder eingetragen werden. Dann kannst Du es verrechnen.
Das Sollmas steht hier z.B. ab A8. Bei 2j6 ist es ja 2. Das kannst Du per Formel abtrennen:

=VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)))

Ich habe hier z.B. 2j6 eingetragen, da dass ja in der Regel die Zeichnungsangabe ist. Wahrscheinlich wäre es zum Nachvollziehen einfacher, wenn man das Maß und die Passung in 2 Zellen schreibt, dann braucht man das Abtrennen nicht.

mit gm habe ich das Größtmaß abgekürzt, mit km das Kleinstmaß. Lässt sich auch mit den Toleranzen und den eingetragenen Werten ableiten.

Wenn Du jetzt statt 2j6 2h5 einträgst, kommen automatisch die dazu gehörenden Werte und km und gm werden auch neu berechnet.

Wenn Du weitere Passungen in den oberen Teil einträgst, musst Du die beiden Angaben $E$5 und $E$1 in den Formeln in B8 und C8 und darunter entsprechend erweitern. Das kannst Du einfach mit Suchen & Ersetzen tun.
Hi,

Also Passungsauswahl funktioniert schon mal!!! Riesen Dank.... Ich kannte die Befehle Index und Vergleich noch nicht...

Jetzt habe ich noch folgendes Problem:
In meinem Protokollkopf Sollen die Oberen Abmaße (OT/UT) auch manuell in denselben Zellen eingegeben werden können.


Das Heißt also,

1) wenn ich EINE Passung angewählt habe Tauchen die Grenzabmaße auf und lassen sich nicht abändern.

2) sobald ich KEINE Passung mehr angewählt habe, soll der Nutzer auch frei wählbare Grenzabmaße eintragen können!

Gruß Andi
Hi Andi,

(29.11.2015, 14:15)Andi_Koer_1234 schrieb: [ -> ]1) wenn ich EINE Passung angewählt habe Tauchen die Grenzabmaße auf und lassen sich nicht abändern.

2) sobald ich KEINE Passung mehr angewählt habe, soll der Nutzer auch frei wählbare Grenzabmaße eintragen können!

wenn Du da Formeln drin stehen hast, werden die durch die manuell eingetragenen Abmaße überschrieben und bei einer Änderung läuft das nicht mehr automatisch.

Deswegen habe ich am 26.11. geschrieben:
Rabe schrieb:Dazu könnte im Falle des nicht-leeren Bezugs-Feldes eine VERWEIS-Formel oder besser gleich die Toleranz-Werte per VBA (Makro) eingetragen werden und wenn das Bezugsfeld leer ist, wird einfach nichts eingetragen, sondern manuell.

Die Betonung liegt dabei auf per VBA (Makro)!
Hallo nochmal!

Also Danke erstmal für die Antwort und es tut mir Leid das ich da so penibel nachfragen muss. Es ist halt schwierig nach etwas zu suchen was man noch nicht so kennt. Ich arbeite mich gerade quasi von a-z an das Thema heran…. Und da helfen Lehrbücher nur schlecht. Da ist so ein Forum mit den Erfahrungswerten der Nutzer wirklich Gold wert! Learning by Doing…

(29.11.2015, 15:35)Rabe schrieb: [ -> ]Die Betonung liegt dabei auf per VBA (Makro)!


Die Beispiele im Internet sind schon meist recht komplex. Wie sähe denn so ein Makro in meinem Fall aus und wie erstellt man eines am Logischsten?

Annahme: Es sollte also ein Wert von Tabelle „A“ aus Zelle „A1“ in Tabelle „B“ in Zelle“B2“ kopiert werden unter den oben genannten Bedingungen.

Gruß
Andi
Seiten: 1 2