Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VDA Prüfbericht - red check

Forumthread: VDA Prüfbericht - red check

VDA Prüfbericht - red check
30.01.2026 09:35:23
mckater
Grüße aus Österreich,

Im Prinzip habe ich folgendes Problem beim VDA Prüfbericht....
es sind einige SUBS die es tun und machen.....
Besonders macht mich die Sub "red_check" nicht schlau.....bzw. leere Zeilen löschen
Irgendwas klappt da nicht so wie ich es haben will....

Der Code von Piet ist nicht enthalten hier, weil er anders abläuft und ich zu blöd bin um es fertig zu bringen das er funktioniert.
Er funktioniert wunderbar auf einer einzelnen Seite, aber mein Problem ist....es geht ja um einen VBA mit anderen Dingen, die wiederholt werden.

Entscheidend ist das Tabellenblatt "measurement_data" welche die Bedingten Formatierungen hat mit Rot oder wie schwarz wie gut.
Problemstellung ist folgende:
1. wenn die Spalte K oder M leer sind, dann die Zeichen löschen in Spalte N wie in P und eventuell auch den Bindestrich in Spalte O löschen.
2. wenn die Spalte K vbRed ist erhält die Spalte im Makro P ein x (also Schlecht)
3. Sind beide Werte vbRed dann ebenfalls in Spalte P ein X (weil es schlecht ist)
4. Ist nur ein Wert in Spalte K und gut, dann steht ein x in der Spalte N (also GUT)
5. Wenn nur ein Wert vorhanden ist in Spalte K oder Spalte M (den Bindestrich, wenn vorhanden löschen)
6. Wenn ein Wert in Spalte leer ist, aber in M muss überprüft werden ob vbRed oder nicht...(wenn nicht gut ein x in Spalte P)
7. Wenn in Spalte K wie in M ein Wert steht muss unbedingt ein - stehen in Spalte L

mfg mckater

P.S der Code von Piet ist genial, aber irgendwie mag er es nicht in meinen Subs
Den Code von Piet finde ich hier online nicht mehr.

https://www.herber.de/bbs/user/180124.xlsb
Anzeige

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VDA Prüfbericht - red check
30.01.2026 09:58:27
Alwin Weisangler
Hallo,

bei: Sheets("cavity1").Select wird die Prozedur abgebrochen weil Tabellenblatt fehlt.
Lade bitte eine Datei hoch, welche ein ordentliches Debugging ermöglicht.

Gruß Uwe
AW: VDA Prüfbericht - red check
30.01.2026 16:58:28
Piet
Hallo

Das war der alte Thread, habe deine Anfrage gesehen, aber heute keine Zeit dafür.
Bedingte Formatierung mit Auswertung VBA - mckater 14.01.2026 09:24:11
Deine letzte AW war:
Das ist sozusagen Dein Finishcode für mich, der zu 100% "funzt"....also genial...egal was man eingibt, er macht es so wie es sein soll.
Vielleicht für andere: Hier ist die Datei einzusehen mit den Codes von Dir Piet als Beispielvorlage für andere.
https://www.herber.de/bbs/user/180040.xlsm

Was müsste jetzt bei der neuen Datei geändert oder ergänzt werden?
Musst dich aber 1-2 Tage gedulden bis ich Zeit dafür habe.

mfg Piet
Anzeige
AW: VDA Prüfbericht - red check
31.01.2026 16:55:17
Piet
Hallo

ich habe mal versucht mein Makro in 2 Codes einzubauen.
Dabei fiel mir auf, das sich die Daten für alle 8 "cavity1" Sheets wiederholen!
Dann kannst du es auch über einen neue For Next Schleife vereinfachen . z.B. so:
For k = 1 to 8 -> Sheets( "cavity" & k).Select
An 2 Stellen habe ich die Änderung im Makro eingebaut. Bitte testen.

Ich weiss nicht ob alles auf Anhieb klppt?? Bitte zuerst in einer Copy Datei testen.
https://www.herber.de/bbs/user/180134.xlsb

mfg Piet
Anzeige
AW: VDA Prüfbericht - red check
03.02.2026 10:41:22
mckater
Moin,

@ Piet
Ich muss das natürlich später testen in einer Backupdatei
Neue Infos, weil ich ja nicht der Freund bin von "Bedingter Formatierung"
Ich habe mir das Tabellenblatt, "measurement_data" zur Brust genommen
Da sind ja die Zeilen anders wie in der ersten Rohdatei, die kopiert wird und später umgewandelt wird.
Jetzt habe ich die "measurement_data" genau aus den Zeilen so eingestellt....
Und die Selection ist wichtig, weil der macht die Selection dann eben bei mir 63 runter! (aktuell! vorher waren es 20)
Ist ja gebunden an diese Vorlage und irgendwie macht er alles richtig.
Derzeit in dem Projekt max. 12 Sheets, also pro Formnest 12 Seiten.....
Egal, das kann man ändern....
Sheet 1 bis Sheet x ist also gebunden an die Zeile, wo die Selection rein kommt.
Der ist eh brav, der Bub, macht alles so wie ich es haben will....mit dem "red_check" können wir noch was verbessern....
Weil ab und zu sind beide Zeilen leer und löscht mir diese nicht in den Spalten wo ich es brauche.
Zudem gibt es bei mir nicht immer 8 Bauteile oder Formnester....derzeit 1 Formnest oder Bauteil und er erstellt sich nur cavity1
Das wird geregelt mit der Eingabe, wo ich sage wie viele Seiten brauchen wir und wie viele Bauteile oder Formnester haben wir.

@ ralf_b
Es ist natürlich ein feines Coderl was für die sehr gute Programmierung spricht
Muss ich auf alle Fälle mal testen....das Problem ist nur....ich habe nicht immer eine Zeile mit Nominalwert, die obere Toleranz und unter Toleranz
Wenn ich pro Zeile nur einen Messwert hätte, okay...aber wenn der andere dann einen Messwert braucht, der an einer Zeile gebunden ist bis auf die andere wird es schwierig.
Da muss man viel coden und verschachteln.....fast unmöglich.
Aber danke für die vielen Hinweise.....
Jedes Projekt besteht halt nicht nur Zeile für Zeile....da muss man selbst Hand anlegen für das Projekt.

@ Case
auf alle Fälle muss ich mir das ansehen, weil es sehr viel Zeit kostet die Bedingte Formatierug so zu ändern.
Problem wie schon bei ralf_b....ich habe nicht jede Zeile gleich....was bedeutet....die Vorlage muss ich mir selber machen.
Es sind einige Zeilen gebunden an anderen Zeilen.....very big Problem......
Das kannst nicht mit VBA lösen....da muss Ki her oder Handarbeit*gg*

Danke für die Hilfe und ich werde noch was schicken....muss ja noch viel testen.

Moin, mckater
Anzeige
AW: VDA Prüfbericht - red check
03.02.2026 11:55:46
Piet
Hallo

ich habe den Code noch einmal verbessert, falls sich dein Zeilen Offset einmal ändert.
Die Zahl 20 habe ich oben als Const ZO20 = 20 fest vorgegeben. Dort bitte ändern.
Die Zahl 63 sucht das Makro selbst, vergleicht die Zelle B19 mit der Zelle B82!
Sollte der Offset nicht stimmen bekomst du eine Fehlermeldung. (Mit Abbruch)
Du mussst jetzt im Makro überall wo 20 und 63 steht die Variable ZO20/ZO63 angeben!

Sollte es noch Probleme mit der Auswertung geben am besten eine Beispieldatei mit Handnotiz hochladen.
Ich habe keine Informatik Ausbildung, aber was ich sehe udn verstehe kann ich programmieren.

mfg Piet



Option Explicit
Const ZO20 = 20 'Zeilen Offset 20

'neues Makro 2.2.2026 stark verkürzt

Sub daten_uebertragen()
Dim FmTxt As String 'Fehlermeldung
Dim ZO63 As Integer 'Zeilen Offset 63
Dim nummer As Integer
Dim a As Integer, z As Integer
Dim i As Integer, j As Integer
Dim i11 As Integer, s As Integer
Dim cSht As Worksheet
Dim blätter_pro_formnest
Dim blätter_gesamt_mit_Deckblatt

Const Blatt1 = "measurement_data"
Const Blatt2 = "cavity1"
Const Blatt3 = "cavity2"
Const Blatt4 = "cavity3"
Const Blatt5 = "cavity4"
Const Blatt6 = "cavity5"
Const Blatt7 = "cavity6"
Const Blatt8 = "cavity7"
Const Blatt9 = "cavity8"
Const Blatt10 = "cavity9"
Const Blatt11 = "cavity10"
Const Blatt12 = "cavity11"
Const Blatt13 = "cavity12"

blätter_pro_formnest = ((Sheets("cover_sheet").Range("BG15").Value)) / (Sheets("cover_sheet").Range("BG17"))
blätter_gesamt_mit_Deckblatt = ((Sheets("cover_sheet").Range("BI15").Value))

'Zeilen Offset (63 oder 20) ermitteln; Zelle B19
For ZO63 = 10 To 100
With Sheets("Product_related_sheet")
If .Range("B19").Offset(ZO63, 0) = .Range("B19") Then Exit For
End With
Next ZO63

'Zeilen Offset 20? oder >63? Abbruch bei Fehler
If ZO63 20 Or ZO63 >= 63 Then
If ZO63 20 Then If MsgBox("Der Zeilen Offset ist 20" & vbLf & "Ist das okay? Nein = Abbruch!", vbYesNo) = vbNo Then Exit Sub
If ZO63 > 63 Then If MsgBox("Der Zeilen Offset ist >63" & vbLf & "Ist das okay? Nein = Abbruch!", vbYesNo) = vbNo Then Exit Sub
End If
Anzeige
AW: VDA Prüfbericht - red check
04.02.2026 19:30:37
Piet
Hallo

Bitte kopiere diesen Teil in deine Datei und teste es zuerst mit 1 Sheet.
Dann erweitere es mal auf mehrere Sheets, und schau bitte ob das Makro alle Sheets korrekt ausfüllt?
Dann kann das restliche Makro entfallen. Da wo jetzt Exit Sub steht gehört dann End Sub hin!

Falls nein , bitte For k = 1 To 1 löschen und Next k löschen, und dieses Makro für jedes einzelne Sheet übernehmen.
Dein Thread ist bald zu Ende, dann geht er ins Archiv. Wir können uns dann nicht mehr antworten.
Für weitere Fragen musst du einen neuen Thread ausmachen.

mfg Piet

'** verkürzt durch 2. Schleife

Sub red_check()

'Dim k As Integer
Dim l As Integer
Dim blätter_pro_formnest As Integer

Dim i5 As Integer
Dim i20 As Integer
Dim k As Integer 'neu für Sheets
Dim Fb1 As Long 'Neu für Farbcode
Dim Fb2 As Long 'Neu für Farbcode
Dim Wt1 As Variant 'Neu für ZellWert
Dim Wt2 As Variant 'Neu für ZellWert

blätter_pro_formnest = ((Sheets("cover_sheet").Range("BG15").Value)) / (Sheets("cover_sheet").Range("BG17"))

Application.ScreenUpdating = True
On Error GoTo out:
'Schleife für 8 "cavity" Sheets
'Ich habe es hier nur einmal für 1 cavity eingegeben 03.02.2026
For k = 1 To 1
Sheets("cavity" & k).Select
Range("K31").Select

i20 = 0
Do While i20 12 'blätter_pro_formnest

For i5 = 1 To 20
Wt1 = Trim(ActiveCell)
Wt2 = Trim(ActiveCell.Offset(0, 2))
Fb1 = ActiveCell.DisplayFormat.Font.Color
Fb2 = ActiveCell.Offset(0, 2).DisplayFormat.Font.Color
'Bindesprich einfügen wenn Zelle K + M Wert hat
If ActiveCell.Value > "" And Selection.Offset(0, 2) > "" Then
Selection.Offset(0, 1) = CStr("-") 'einfügen
End If

'Bindesprich löschen wenn Zelle K + M leer sind
If ActiveCell.Value = "" And Selection.Offset(0, 2) = "" Then
Selection.Offset(0, 1) = Empty 'Löschen
Selection.Offset(0, 3) = ""
Selection.Offset(0, 5) = ""
GoTo nx 'nächste Zeile
End If

'vbRed Flag Auswertung wenn Zelle Wert hat!
If (Fb1 = vbRed And Wt1 > "") Or (Fb2 = vbRed And Wt2 > "") Then
Selection.Offset(0, 3) = "o"
Selection.Offset(0, 5) = "x"
Else 'vbBlack wenn Zelle Wert hat
Selection.Offset(0, 3) = "x"
Selection.Offset(0, 5) = "o"
End If
'auf nächste Zeile setzen
nx: Selection.Offset(1, 0).Select
Next i5
'43 Zeilen überspringen
Selection.Offset(43, 0).Select
i20 = i20 + 1
Loop
Next k

'Bitte mit mehreren Sheets prüfen!
'Wenn die For k Schleife okay ist werdewn alle 8 Sheets ausgefüllt!
'Dann kann der Rest vom Makro entfallen!!

Exit Sub
Anzeige
AW: VDA Prüfbericht - red check
04.02.2026 21:08:46
mckater
Hallo Piet,

wir sind bald am Ziel und ich schaue und tüftle....
bin mir aber sicher wir schaffen es!
Dein Coderl werde ich testen natürlich.....
Habe heute fast geschafft und dann macht er wieder so Fehler.....
Egal....das sind Kleinigkeiten
Wir rocken die Bude hier und finden die perfekte Lösung....
Habe mir deinen perfekten Code vorgenommen mit der Range.....
Super!....die Range passt super....auch die andere Range passt.....
Irgendwie macht er halt noch Fehler....kleine....
Ich werde das Coderl bald testen und berichten.....
Ansonsten mach ich eine neue Anfrage, damit wir wieder im Ranking sind*gg*

Guten Abend aus dem Ösiland,
mckater
Anzeige
AW: VDA Prüfbericht - red check
05.02.2026 07:55:29
mckater
Hallo Piet!

ich habe dein Coderl mal auf 3 cavity getestet und sieht gut aus!
Denke wir sind am Ziel fast und deine Codes sind so gut, weil du beschreibst die Dinge auch immer so schön im Code....das gefällt mir, was der Code macht

Dein Code befindet sich derzeit auf Modul4 (kann das mit Namen nicht ändern! Ich denke da muss ich ein Modul speichern und wieder reinladen...egal)
Ich habe es auf 3 Cavity getestet und klappt prima!
Mir ist aufgefallen, wenn die aktuelle Zelle K oder M leer sind, macht er zu 1% einen Fehler.....aber das LIEGT nicht an deinem CODE....das hat einen anderen Hintergrund.
Ich muss mir da die Bedingte Formatierung nochmals ansehen....komisch ist halt nur, die Zellen sind leer und 4 mal pro Zeile macht er ein o oder x??????
Das hat nichts mit deinem Code zu tun!
Im Modul4, dein Code habe ich noch ein paar Dinge hinzugefügt....
1) er springt auf Zelle A1 pro cavity, weil da immer hochgehen mit Maus oder so ist blöde
2) Ich habe eine Range eingefügt, wo er mir alle Bindestriche gleich mal weg macht!
(warum? weil bei Einzelwerten in der Auswertung die Bindestriche bleiben....wir hatten das schon mal gelöst....egal....die aktuelle Range bezieht sich auf die aktuell 12 Seiten pro cavity und dann passt alles.
3) die Auswertung zwischen Gut und Böse, also Rot oder so passt zu 100%

Ich denke das Coderl passt sehr gut.....
Schau Dir nur mal die cavity1 bis cavity3 an wo ich da gelb markiert habe nebenbei....

P.S die Range kann ich nicht nur auf eine Spalte mit .clearconten lösen, weil dann würde mir der ja aus der Vorlage auch andere wichtige Dinge löschen
Egal, das kann ich ja erweitern, sollte ich mehr Seiten haben von cavitys

Fazit: perfekt!
Ich habe so viel probiert und getestet, schon so viele Kopien usw....das mit dem Fehler mit x oder o wenn die Zeile leer ist war immer vorhanden.
Es muss also an meiner Vorlage liegen oder so....egal....mach mich da mal schlau....ist nur Kosmetik

Danke vielmals dafür, weil ich jeden Tag was versucht habe, auch deinen Originalcode usw.

Weil wir uns bald nicht mehr schreiben können, werde ich vielleicht einen NEUE Anfrage stellen um dich am laufenden zu halten mit dem VDA Prüfbericht

Dann gehen wir mal rein in den neuen Tag

Moin wie man so sagt an @Piet

https://www.herber.de/bbs/user/180169.xlsb
Anzeige
AW: VDA Prüfbericht - red check
03.02.2026 13:06:37
mckater
Moin Piet,
es ist schon fast zur Mittagszeit.....
wir sind fast am Ziel der Anstrengung....

Die Lage schaut so aus Piet.....ich habe die "measurement_data" nun die GLEICHEN Zeilen gegeben wie diese kopiert werden müssen.
Also die Bedingte Formatierung ist auf diese Zelle wie Zeilen angewisen.
Der macht das super.....jetzt fehlt nur noch der red_check.....

Du weißt was ich meine damit, sind beide Werte rot(vbRed), dann x wo es hingehört.
Sind beide Werte vbBlack, dann mach das x an der guten Seite, wie bestanden.
Aber dein Coderl macht noch MEHR.....wenn man zwei Werte hat, dann muss ein Bindestrich rein in die Mittelzeile.
Somit erspare ich mir die Bindestriche eingeben, weil VBA macht das am Ende super.
So, jetzt habe ich halt in der Zelle keinen Daten aber in der anderen....er prüft, wenn was vbRed ist, dann x für schlecht
das gleiche natürlich, bist du gut und die andere schlecht?.....x für schleccht

Aber Piet, wir haben das schon durchgespielt und er macht es einfach.....

Weil ich Piet eine Aufgabe gestellt habe.....was er zu 100% erfüllt hat
1. Sind beide Messwerte vbRed, mach ein X auf schlecht und wenn zwei Messerte vorhanden sind auch den Bindestrich
2. Sind beide Messwerte vbBlack mach ein X auf gut und einen Bindestrich auf weil zwei Messwerte.
3. geile Party....es ist in zelle so oder so nix vorhanden, mach es so, x oder o löschen und auch den Bindestrich
4. keine Angst es geht weiter....wenn Zelle so vbred ist und Zelle leer ist....natülichen rot machen und den Bindestrich entfernen.
Sobald man nur einen Messwert hat, egal oder Links muss der Bindestricht weg, weil man hat nur einen Messwert.
5. Wenn in der ersten Zelle ein roter ist und der andere leer.....was soll passieren? Einmal rot und das auch so machen
die anderen Dinge will ich gar nicht mehr sagen....weil sonst platzt der Speicher vom Makro*gg*

Ich bin stolz auf Piet, der macht mir einen Code, das funktioniert und die SuperCoder bin auch stolz....nur so Supercoden ist halt was anderes, wie die Realtiät von dem was man braucht um umsetzen muss.
Es gibt viele mit einen Problem, das Problem liegt schon vorhanden....die haben weder Code oder sonst was....die Superuser sind ja keine die was dir in der schnelle der ehre was bereiten....
Wer Probleme hat, ist es gut und schön, aber diese tollten Typen machen euch nicht den Code....um das geht des.....
Na Mädels oder Buben oder schon fast Männer...ich denke diese Plattform ist eine wo man so viel lernt....aber codes die auf dein Projekt laufen....da musst aber deinen Anzug ausziehen und brav sein, weil wenn du nicht coden kannst okay....aber wir sind hier, weil wir uns austauschen....der eine sehr gut wie der andere schlecht.....wichtig ist hier, eine Lösung zu finden.....

Anzeige
AW: Danke für die Rückmeldung, gern geschehen oWt
03.02.2026 14:56:38
Piet
...
AW: Danke für die Rückmeldung, gern geschehen oWt
03.02.2026 19:58:50
mckater
Hallo Piet,

ich werde ja von feinen Codes überfallen von Dir, die ich auch testen will oder später einbinden.
Wie deine verkürzte, gut geschriebene Variante.
Diese jetzt enthaltet nur:
Ich habe das Tabellenblatt "measurement_data" nun so aufgebaut wie es die Vorlage ist.....also die Zeilen müssen übereinstimmen mit dem Kopiervorgang.
Die Sheets sind also genauso wie in der Vorlage vom Tabellenblatt "Product_related_sheet"
Derzeit hat diese 100 Seiten und wird verkürzt, was man halt braucht an Seiten.
In meinem Fall habe ich die Messdaten, Rohdaten aus dem Tabellenblatt nur auf 12 Seiten generiert mit Bedingter Formatierung, weil mehr gibt es ja nicht pro cavity
Dann habe ich einen red_check eingefügt in die Sub und noch einige Änderungen durchgeführt.....
Was mir auffällt? Wenn eine Zeile vbBlack ist und die andere Zelle leer ist....sagt er ist SCHLECHT????
Oder wenn die aktive Zelle vbRed ist, sagt er was er will.
Aber das mit den Bindestrichen beherrscht er nun, also ich brauche in der Rohdatei keine Bindestriche mehr eingeben, das macht das VBA Makro.
Ein noch komischeres Problem ist,...manchmal wenn beide Zellen leer sind, ab und zu macht er es richtig, aber manchmal nicht?????
Also wenn beide Eingaben von Messwerten leer sind muss er ja die Zellen N und P leer machen.

Fazit:
Er hat Probleme, wenn ein Wert in Spalte K vbRed ist oder vbBlack und Spalte M leer ist....er macht mal das oder jenes
Zudem hat er das gleiche Problem wenn Spalte K leer ist und in Spalte M ein Wert steht, egal ob vbRed oder vbBlack
Wie manchmal macht er es richtig mit den leeren Zellen von von K und M und dann macht er wieder x oder o rein???
(weil wenn Zelle K und M leer sind, muss er x und o weg machen und auch den Bindestrich)

Derzeit ist es noch zu früh mit den "feinen Codes von Dir Piet"....erst muss mal nur eine cavity klappen....also NUR die cavity1
Im Anhang kannst sehen in der cavity1 was der falsch macht!

Solltest das Makro erneut starten....vorher das Tabellenblatt cavity1 wieder löschen

Irgendwie habe ich deine Hilfe schon zu sehr beansprucht!
Aber schön zu wissen, das man Hilfe von Dir bekommt.

https://www.herber.de/bbs/user/180154.xlsb

Übrigens muss ich Datei immer in .xlsb speichern....weil man hier nur eine begrenzte Datenmenge hochladen kann.

Schönen Abend aus dem verschlafenen Österreich
mckater
Anzeige
AW: VDA Prüfbericht - red check
31.01.2026 17:22:42
mckater
Hallo Piet,

ich habe heute auch wieder getüfftelt an dem Code.....
Es sind mir komische Dinge aufgefallen.
Die "cavitiys" spielen nicht die Rolle, weil die ja im cover_sheet vorgegeben werden....
Sprich ich trage da nur eine rein....dann überspringt er cavity2 bis cavityxxxx

Er kopiert sich die Daten aus den Rohdaten, Messdaten raus in die Vorlage....alles wunderbar...kein Problem.
Ich habe es mit einer IF und Elseif und Elseif probiert....sieht gut aus....aber dann macht er nur Blödsinn der Code!
Er geht ja mit der Offset sehr brav immer eins weiter und mit Loop, ....geht auch runter zur zweiten Seite...weil 12 vorhanden sind und macht auch alles....
macht halt nicht das was ich haben will...er macht so viele Fehler.

Dein Code war perfekt, du hattest halt eine Range drinnen....die gibt es bei mir nicht....weil der pro Seite 20 Zeilen überprüfen soll und dann geh 43 runter mit Offset, was er ja brav macht.
Also kann ich da keine Range haben.
Mein billiger Code arbeitet sich von Zelle 31 runter und wiederholt das 20mal.....
Dann geht er runter auf Offset 43 und die nächste Seite wird wieder so ausgeführt.
Er macht das halt dann solange, bis die 12 Seiten wie in meinem Fall abgearbeitet sind.
Das Ergebnis....oft richtig, dann vieles falsch....hmmm

Ich weiß der gesamte Code ist etwas kompliziert aufgebaut....könnte man viel kürzer halten...dafür muss man halt mehr Wissen haben.
Im Grunde macht das VBA ja alles richtig, bis auf den red_check und die leeren Zeilen löschen....aber auch nur bei der ersten Seite....
Ich vermute da liegt was im Speicher....ein nur kleines Problem, sonst würde es klappen.....

P.S die Formester oder cavity gebe ich ja ein im cover_sheet....also wenn ich da unten 1 eintrage, brauchen wir die anderen nicht....die überspringt der
den Code kann ich ja bei jedem Formnest einfügen....

Wenn ich im cover_sheet nur 1 eingebe als cavity bzw. Formnest....erstellt er mir auch nur ein Tabellenblatt mit cavity1 und wenn ich 2 eingebe macht er halt auch cavity2 usw.
Die muss man aber immer löschen bevor man wieder startet

Ich werde mir mal deine Datei ansehen und schauen.

Danke!
Schon mal im Voraus für die Hilfe!

Ösi mckater
Anzeige
AW: VDA Prüfbericht - red check
31.01.2026 17:50:37
mckater
Hallo Piet,
das Tabellenblatt cover_sheet ist etrem wichtig!
Die muss vorhanden sein....weil ich da ja eingebe wie viele Blätter ich pro cavity habe usw.
Ist diese nicht vorhanden, geht gar nichts mit Gaudi mit VBA....weil die sind ja irgendwie verbunden.
Also in meinen Rohdaten, Messdaten, oder wie ich das benannt habe "measuremet_data" sind die Rohdaten drinnen die ich eingegeben habe mit BF
Das ist die Rohdatei wo dann später raus kopiert will.
Vergiss es mit 8 cavitys oder Formnester....das wird ja in der cover_sheet eingegeben.
Also wenn ich da 1 eintrage, erstellt er mir die cavity1
Die anderen sind dann unwichtig, weil die überflogen werden....
Sozusagen habe ich 12 Seiten derzeit im Prüfbericht, ein Bauteil....also erstellt er mir ein Tabellenblatt cavity1, was super ist und macht im Hintergrund noch so vieles mehr....er nimmt sich die Rohdatei her, sagt, du hast 100 Blätter, ich kürze das und mache 12 draus(ohne Deckblatt)....dann mach ich dir eine cavity1 und wir machen den red_check und die Dinge was du brauchst.
Hätte ich jetzt 2 cavitys....der kopiert es und macht Tabellenblätter mit cavity1 wie cavity2......
Machst ja erst dann den cavity red_check auf die Tabellenblätter.....sollte es cavity2 nicht geben, geht er weiter...und vorbei, er macht es finish.
Sollte es echt 8 cavitys geben, muss der Code in jeder cavity drinnen sein.....das ist ja nicht das Problem.....
Eine perfekt machen mit cavity1 und auf die 12 Seiten und mit Deckblatt 13 wie im cover_sheet
Anzeige
AW: VDA Prüfbericht - red check
01.02.2026 09:35:16
mckater
Hallo Piet,
bin wieder mal froh über deine Code "red_check" für mein Problem!
Hab mit deinen Code noch etwas hinzugefügt.
Klappt alles prima wenn du mir so ein Coderl schickst und jetzt weiß ich warum der so Probleme hat mit den anderen Seiten!
Dummheit wird halt bestraft wie in meinem Fall....weil das Tabelleblatt "measurementt_data" die BEIDEN $ Zeichen drinnen haben....die SIND FIXIERT auf Spalte wie ZEILE!
Natürlich ist er gebunden an die Zeile wie die Spalte...das ist schon mal das Problem.
Meine Vorlage, wo die Daten rein kopiert werden mit dem VBA Makro ist ja das Tabellenblatt "Product_related_sheet" (ohne Bedingte Formatierung natürlich)
Erste Seite geht ja, weil alles okay ist bis noch eine kleine Änderung wie wenn ein "no-name_user" in der Rechten Spalte was eingibt, was natürlich UNSINN ist...soll das VBA auch das machen....aber ich glaube das schaffen wir auch noch oder nur in der RECHTEN ein Wert und macht das dann.
Also wenn in aktiver Spalte wie Zeile links leer ist und Spalte rechts vbBlack ist, mach es gut wie mit "x" und "o" (natürlich muss der Bindestrich weg, sollte einer vorhanden sein)
Wenn Spalte links leer ist und Spalte rechts vbRed, mach es schlecht mit "o" bzw "x" (natürlich muss der Bindestrich weg bei nur einen Wert)
(keiner gibt nur einen Wert in der rechten Spalte ein....egal ob vbREd oder vbBlack, das VBA soll das halt abfangen)
ABER das Tabellenblatt "measurement_data" hat ja andere Zeilen und somit verwirrt sich das Ganze, weil die Werte ja gebunden sind, und wenn man diese da reinkopiert, ist klar, der ist an die Spalten wie Zeilen gebunden!

Mit der Bedingten Formatierung werde ich nicht "warm oder Freund"
Für diese brauchte ich über eine Stunde....alles mit Spalte& und Zeile$ (für meine 78 Messwerte) (liegt aktuell vor aber nicht gebrauchbar)
Für mein Problem muss ich wieder umstellen auf Spalte$ und Zeile OHNE $
(Weil wenn ich den Kopiervorgang in die Vorlage bringe, soll sich der an die aktuelle Zeile richten ohne $ an die Zeile und das ist der Knackpunkt hier.
Super! Wieder eine Stunde um die Dollarzeichen aus den Zeilen zu entfernen.
Da sollte Microsoft mal ein Upadte machen, wie man das einfacher lösen kann!
Wenn ich eine Vorlage habe, die aber mehrere Bauteile hat usw....wie man die Dollarzeichen da entfernen kann für Spalte oder Zeile...
Wenn ich das manuell mache, dauert das ja ewig wieder

Coderl von Dir Piet funktioniert ja wieder prima....ein paar Änderungen hab ich noch hinzugefügt.
Was noch fehlt: das hab ich probiert aber das VBA fängt es ab und wenn LINKS leer ist und Rechts ein Wert steht der vbRed ist, dann das und das gleiche, wenn LINKS leer ist und rechts vbBlack ist, mach das....also Then

Wie gesagt Piet, die Werte werden kopiert mit $ und $ und das geht nicht....weil die die Bedingte Formatierung auf anderen Zeilen legen wie vorgegeben.
Das soll jetzt nicht das Problem sein....kämpfe mich halt wieder durch eine Stunde um die $ zu entfernen wo es sein muss.

Somit mal fast Sonntagsgrüße ohne Sonne
mckater

Anzeige
AW: VDA Prüfbericht - red check
01.02.2026 21:59:21
Piet
Hallo

Das "$" in Formeln kannst du mit der normalen Find Funktion Suchen & Ersetzen ändern!
Dann kannst du Formeln in andere Spalten kopieren, und wenn du willst das $ wieder einfügen.
Ich versuche noch mal was zu verbessern, es dauert aber noch eine Weile.

PS Ein anderer Trick um Formeln zu kopieren ist, vor das "=" Zeichen ein " ' " zu setzen!
Jetzt ist die Formel ein Text, den man überall hin kopieren kann. Und wieder zurückwandeln.
Damit kann man auch Formeln vorübergehend deaktivieren. Oder in andere Mappen kopieren.

mfg Piet
Anzeige
AW: VDA Prüfbericht - red check
01.02.2026 23:22:32
ralf_b
Moin,

mann kann auch Formelbezüge per vba auf absolut oder nicht absolut umstellen. z.B.
Sub ReplaceFormula()

' Ändert =A1*10 zu =$A1*10
Range("B1").Formula = Replace(Range("B1").Formula, "A1", "$A1")
End Sub


und bedingte Formatierungen lassen sich auch per vba modifizieren, erzeugen, löschen

Function deletefc(wsName As String, Optional strKrit As String = "")

'löscht bedingte Formatierung anhand von Kriterien.

Dim i As Long, objfc As FormatCondition
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.EnableEvents = False

With Worksheets(wsName).Cells

For i = .FormatConditions.Count To 1 Step -1
On Error Resume Next
Set objfc = .FormatConditions(i)

' If objfc.AppliesTo.Cells.Count = 1 Then 'wenn nur auf eine Zelle bezogen
If objfc.Formula1 Like ("*" & strKrit & "*") Then 'wenn Kriterium erfüllt
objfc.Delete
End If
'End If
On Error GoTo 0
Next

End With
Application.EnableEvents = True
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True

End Function



und hiermit kannst du deine zig bedingten Formatierungen setzen
Sub setFC(sName As String)


Dim rngLoop As Range, rngstart As Range, rngEnd As Range
Dim rngresult As Range, rngInsert As Range
Dim lastcell As Range, lastcellE As Range
Dim ws As Worksheet
Dim i As Long, cnt As Long, targetrow As Long


Set ws = Worksheets(sName)
'letzte Zelle in "Bauteil"- Zeile
Set lastcell = ws.Cells(29, ws.Columns.Count).End(xlToLeft)

'Bereich der Bauteil-Zeile
Set rngLoop = ws.Range("K29:" & lastcell.Address(0, 0))

'letzteZelle in Spalte "E"
Set lastcellE = ws.Range("E" & ws.Rows.Count).End(xlUp)

'Schleife zur Ermittlung der Adressen für die bedinge Formatierung
For i = rngLoop(1).Column To lastcell.Column Step 4
'Prüfung ob "Bauteil" in der Zelle steht
If Left(Cells(29, i), Len("Bauteil")) = "Bauteil" Then
'Prüfung ob die Zelle eine verbundene Zelle ist
If Not Cells(29, i).MergeArea Is Nothing Then
'Sammen der Zellen in einer Range
If rngresult Is Nothing Then
Set rngresult = Union(Cells(29, i)(1), Cells(29, i)(1, 3))
Else
Set rngresult = Union(rngresult, Union(Cells(29, i)(1), Cells(29, i)(1, 3)))
End If
End If

End If

Next

'achtung Schleifenende auf erste Zeile 31 des Datenbereiches setzen
For cnt = lastcellE.Row To 31 Step -1

'Prüfung ob Toleranzen eingetragen sind
If Cells(cnt, "F") > "" And Cells(cnt, "G") > "" Then

Set rngstart = Cells(cnt, "K")
If rngEnd Is Nothing Then Set rngEnd = rngstart

'Höhe des Bereiches für die bedingte Formatierung festlegen
targetrow = cnt - rngLoop.Row


'Bereich zu Zielzeile verschieben und Größe anpassen
Set rngInsert = AreasResize(rngresult, rngEnd.Row - rngstart.Row + 1)
Set rngInsert = AreasMove(rngInsert, targetrow)

' Bedingte Formatierung einfügen
With rngInsert
.FormatConditions.Delete
.FormatConditions.Add Type:=1, Operator:=2, Formula1:="=$E$" & cnt & "+$F$" & cnt, Formula2:="=$E$" & cnt & " + $G$" & cnt
With .FormatConditions(.FormatConditions.Count)
.SetFirstPriority
.fONT.ColorIndex = 3
.StopIfTrue = False
End With
End With

Set rngEnd = Nothing
Else
'Endzelle für BedF Bereich setzen
If rngEnd Is Nothing Then
Set rngEnd = Cells(cnt, "K")
End If
End If

Next

End Sub


Public Function AreasResize(rng As Range, lRows As Long)
Dim ar As Range
Dim rngNeu As Range

For Each ar In rng.Areas
If rngNeu Is Nothing Then
Set rngNeu = ar.Resize(lRows, ar.Columns.Count)
Else
Set rngNeu = Union(rngNeu, ar.Resize(lRows, ar.Columns.Count))
End If
Next ar
Set AreasResize = rngNeu

End Function

Function AreasMove(rng As Range, lRows As Long)
Dim ar As Range
Dim rngNeu As Range
For Each ar In rng.Areas
If rngNeu Is Nothing Then
Set rngNeu = ar.Offset(lRows)
Else
Set rngNeu = Union(rngNeu, ar.Offset(lRows))
End If
Next ar
Set AreasMove = rngNeu

End Function



und aufgerufen wird das ganze z.b.so

Sub los()

'zum testaufruf der Subs mit parameter
deletefc ("measurement_data")
setFC( "measurement_data")
End Sub

Anzeige
AW: VDA Prüfbericht - red check
02.02.2026 00:13:08
Piet
Hallo

@ralf_b wow, das ist eine Programmierung da gehe ich garantiert nicht dran. Man sieht den Profi.

Dafür habe ich das aufwendige Makro mit vielen Select jetzt mal optimiert.
Bin gespannt ob es auf Anhieb einwandfrie läuft? Bitte in Copy Datei testen.
Ich habe aber nur das "Daten_uebertragen" Makro verkürzt, ohne die vb_red Prüfung!

VBA Info: - du bevorzugst noch Sheets.Select und Range.Select, was für Anfänger okay ist.
Wenn du das Makro in Ruhe anschaust erkennst du den Vorteil von Range über Offset!!
Das kann man auch sehr geschickt ineinander verschachteln. Wenn man weiß wie!!
Der Vorteill: ob du 8 oder 20 "cavity" Sheets hast ist egal. No Limit!
https://www.herber.de/bbs/user/180137.xlsb

mfg Piet
Anzeige
AW: VDA Prüfbericht - red check
02.02.2026 13:14:53
mckater
Moin wie man in der Germany sagt,

@ralf_
Dein Coderl ist natürlich fein wie super.....da muss ich noch auf die Uni gehen.....schon zu verstehen, aber in meinem Fall hilflos, weil ich ja nicht eine Zelle habe sondern auch viele andere, die gebunden sind mit den darüberliegenden.
Also ich habe keinen Code der nur pro Zeile funktiniert und dann auch noch andere Dinge im Blickfeld halten tut.
Es gibt ab und zu Dinge wo die Dinge gebunden sind....also könnte ich den Code gar nicht ausführen....weil für so was brauchst für jedes Projekt einen Spezialcode.
Code sicher super, aber das ist ja was für wenn man ....nich falsch verstehen....wie in meinen Fall, brauche ich da ja eine SUB für da abzuarbeiten.
Aber gut geschrieben!

@Piet
Ich muss mir das noch ansehen natürlich wie du meinen "faden" Einsteigercode verändert hast.....Muss ich mir ansehen.
Neuigkeiten gibt es, weil ich ja nicht der Freund bin mit der Bedingten Formatierung.....
Scheiss auf die $ vor oder hinter....der Bub macht das prima und warum weiß ich nicht....er sollte an Spalte wie Zelle gebunden sein...macht er nicht....
Gut so....der ist mit beiden $ gebunden, wie Zelle und Spalte.....was macht der Bub? Er sagt nix da, ich mach es so wie du es sagst.....komisch, ist aber so.
Ich denke wir kommen bald ans Ziel, weil es klappt und so was von gut!
Ich habe meine Rohdatei umgestellt, "measurement_data"------der hab ich gesagt, die DOLLAR bleiben Drinnen wie in der Rohvorlage.....
Weißt du was der macht?....der sagt, wenn du das kopierst, ändere ich das und die aktuelle Zeile ist das jetzt....GEIL oder
Ich hab meine measurement_data angepasst....hab der gesagt, gehe so weit runter usw...der macht das super oder die Sie....egal ob da $$ oder sonst was stehen der macht es perfekt.....

wir sind bald an der Lösung für den in dem Bereich wo wir das ROCKEN






Anzeige
AW: VDA Prüfbericht - red check
02.02.2026 17:50:07
Piet
Hallo

ich habe nicht alles genau verstanden was du gesagt hast, ist auch nicht wichtig.
Ich habe den Code zum Drucken und für vb_Red noch einmal verbessert.
Das Zelle löschen habe ich direkt in die vb_Red Prüfung MIT eingebaut.
Wenn alles korrrekt läuft hätten wir deinen Code entscheidend verbessert.

Nur bei Bedingter Formatierung bin ich raus. Damit habe ich nie gearbeitet.
Das Ding ist auch mir nicht ganz gehauer, da blicke ich leider nicht durch.
Ansonsten würde es mich freuen wenn wir den Thread als erfolgreich abschließen.

mfg Piet

Sub druckbereich()

Dim k As Integer
Dim blätter_pro_formnest As Integer

blätter_pro_formnest = ((Sheets("cover_sheet").Range("BG15").Value)) / (Sheets("cover_sheet").Range("BG17"))

On Error Resume Next
For k = 4 To Sheets.Count
'drucke nur Sheets mit "cavity"
If Left(Sheets(k).Name, 6) = "cavity" Then
Sheets(k).Select
'If Err.Number = 1 Then GoTo weiter:
Range("A1:Y1").Select
Range(Selection, Selection.End(xlDown)).Select

With ActiveSheet.PageSetup
.FitToPagesWide = blätter_pro_formnest
.FitToPagesTall = blätter_pro_formnest
End With
Application.PrintCommunication = True
Range("A1").Select
weiter:
Next k
Sheets(1).Select 'Sheet zurücksetzen
red_check
End Sub


'** verkürzt durch 2. Schleife
Sub red_check()

Dim l As Integer
Dim blätter_pro_formnest As Integer

Dim i5 As Integer
Dim i20 As Integer
Dim k As Integer 'neu für Sheets
Dim Fb1 As Long 'Neu für Farbcode
Dim Fb2 As Long 'Neu für Farbcode

blätter_pro_formnest = ((Sheets("cover_sheet").Range("BG15").Value)) / (Sheets("cover_sheet").Range("BG17"))

Application.ScreenUpdating = False
On Error GoTo out:
'Schleife für 8 "cavity" Sheets
For k = 1 To 8
Sheets("cavity" & k).Select
Range("K31").Select

i20 = 0
Do While i20 blätter_pro_formnest

For i5 = 1 To 20
Fb1 = ActiveCell.DisplayFormat.Font.Color
Fb2 = Selection.Offset(0, 2).DisplayFormat.Font.Color
'Bindesprich einfügen oder löschen wenn Zelle K oder M leer ist
If ActiveCell.Value > "" And Selection.Offset(0, 2) > "" Then
Selection.Offset(0, 1) = CStr("-") 'einfügen
ElseIf ActiveCell.Value = "" Or Selection.Offset(0, 2) = "" Then
Selection.Offset(0, 1) = Empty 'Löschen
End If
'leere Zellen direkt mit löschen
If ActiveCell.Value = "" And ActiveCell.Offset(0, 2) = "" Then
Selection.Offset(0, 1) = ""
Selection.Offset(0, 3) = ""
Selection.Offset(0, 5) = ""
End If
'red Flag Auswertung
If (Fb1 = vbRed Or Fb2 = vbRed) And ActiveCell > "" Then
Selection.Offset(0, 3) = "o"
Selection.Offset(0, 5) = "x"
Selection.Offset(1, 0).Select
Else
Selection.Offset(0, 3) = "x"
Selection.Offset(0, 5) = "o"
Selection.Offset(1, 0).Select
End If
Next i5
Selection.Offset(43, 0).Select
i20 = i20 + 1
Loop
Next k
End Sub
Anzeige
AW: Ich habe jeden einzelenenThread bis 2015 notiert! oWt
30.01.2026 17:06:23
Piet
...
AW: VDA Prüfbericht - red check
30.01.2026 17:27:53
mckater
Hallo Piet!

schön das du wieder da bist....
Problem ist der ganze Ablauf des VDA Berichtes

Ich kann irgendwie deinen Code nicht integrieren in der SUB "red_check"
(Weil der ja mit einer Do While Schleife von statten geht)

1) das cover_sheet beinhaltet Verknüpfungen zu den anderen Seiten und entscheidend ist....muss natürlich manuell eingeben wie viele Seiten ich habe pro cavity)
(egal, das ist nicht das Problem)

2) Das Tabellenblatt "measurement_data" enthält die eingegeben Werte, Istmaße und sind mit bedingter Formatierung erstellt worden....leider manuell, dauerte lange aber auch egal

3) Das Tabellenblatt "Product_related_sheet" ist oder sind die Vorlage, wo dann später die Daten rein kommen....derzeit auf ca.100 Seiten ausgeweitet und das VBA Makro kopiert sich diese Datei und schaut wie viel er braucht aus den Angaben vom cover_sheet
Druckbereich usw.....

das klappt ja alles super....aber wieder einmal dein genialer red_check Code da integrieren ist ein Problem, weil der ja dann anders funktioniert, weil ich ja keine Range habe
Eine Seite bei mir hat 20 Messwerte....das muss so sein, wegen der Einteilung einer Seite....dann geht er 43 Zeilen runter und fängt von neuen an....
Ich spreche hier nur von cavity1.....die anderen sind mal unwichtig....da kann man den Code ja dann kopieren der funktioniert.

Die nächste SUB wäre leere_zeilen löschen....was ja keinen Sinn mehr macht, wenn deiner schon im red_check integriert ist
(den könnte man dann weg lassen)

Ich weiß, man könnte das viel, viel genialer lösen alles, von Anfang an....aber man schaut einfach was man tun kann....die Zeit bis das ganze fertig ist dauert ja nicht lange.

Nur wie bringe ich Deinen Code in die SUB red_chek da rein?
Der red_check bei mir fängt an.....er weiß wie viele Blätter ich habe pro Formnest(cavity)
Dann macht er pro Seite, also 20 Zeilen das Spiel runter, geht dann 43 Zeilen runter und wiederholt sich bis alles erledigt ist.
Ich habe bei meinem Beispiel da nur eine cavity angegeben im cover_sheet zum testen....weil es funktioniert kann man ja die Codes zu den anderen hinzufügen.
Bei der ersten Seite in der cavity1 scheint alles zu klappen, aber sobald er auf die zweite Seite geht macht er manchmal was richtig, dann wieder vieles falsch.
Hier bei diesem CODE ist natürlich noch nichts eingebaut mit den Bindestrichen usw wie von deinem Code der genial funktioniert hat.....der hat halt eine Range, die ich hier nicht brauchen kann.


Ganz WICHTIG.....sollte cavity1 schon vorhanden sein oder mehrere, IMMER vorher löschen!
Weil es sich das dann eh wieder erstellt.

Liebe Grüße aus Österreich,
mckater
Anzeige
AW: VDA Prüfbericht - red check
30.01.2026 17:41:57
mckater
Piet,

schau dir nur mal die SUB red_check an.....
da müsste dein Coderl rein....
Die nächste Sub "leere_zeilen_löschen" kann man dann so oder so weg machen

der red_chek weiß ja aus dem cover_sheet wie viele Seiten pro Formnest gebraucht werden....bei mir 12 Seiten und 1 cavity
(sollte ich also 2 cavity haben muss ich dem sagen okay.....24 Seiten ohne Deckblatt)
Diese Information muss ich manuell eingeben was ja kein Problem ist. Ist halt so.
Anzeige
AW: VDA Prüfbericht - red check
30.01.2026 11:44:14
mckater
Das ist natürlich eine spannende Frage....wenn ich es wüsste würde ich ja nicht so blöde Fragen stellen oder?
AW: VDA Prüfbericht - red check
30.01.2026 12:32:57
Alwin Weisangler
Tja, das Tabellenblatt wurde gelöscht. Wie weiter musst du dir in Ruhe überlegen. Prüfe, ob du irgendwo noch eine vollständige Kopie hast.
Es sei denn du hast das Ding aus dem Netz und weißt nun nicht weiter?

Gruß Uwe
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige