Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Programmierung für Passungsrechner
#1
Information 
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!
Antworten Top
#2
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
Mit freundlichen Grüßen  :)
Michael
Antworten Top
#3
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.
Antworten Top
#4
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
Antworten Top
#5
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
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
Antworten Top
#7
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Andi_Koer_1234
Antworten Top
#8
Lightbulb 
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
Antworten Top
#9
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)!
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Andi_Koer_1234
Antworten Top
#10
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste