Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1180to1184
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
Makro Messberichte erstellen mittels UsreForm
Alex
Hallo Franz, hallo Exelexperten,
vorab Sorry das ich dieses Thema wieder neu eröffnen muss aber ich war die letzten Tage nicht im Büro und konnte somit nicht direkt im Thema antworten.
Wenn das trotzdem funktioniert bitte um Rü wie?
Franz hatte mir vor nicht all zu langer Zeit einen Makro für die Erstellung eines Einzelbericht erstellt.
Besten Dank schon mal dafür.
Nach diversen Test´s und Diskussionen mit unseren Kunden wurde beschlossen die Goemetrie des zu messenden Bauteils zu ändern. An dieser Stelle kommt ihr ins Spiel. Da meine Kenntnisse nicht wirklich überragend sind sende ich folgende Anmerkungen / Fragen zur nachfolgenen Datei.
a) ich bekommen beim ausführen eine Fehlermeldung an folgender Stelle:
'Fehlerbehandlung
With Err
Select Case .Number
Case 0 'kein Fehler
Case 1004 'Dialog zum Überschreiben einer vorhandenen Protokoldatei wurde mit _
Nein oder Abbrechen quittiert
If Not wbZiel Is Nothing Then wbZiel.Close savechanges:=False
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
b) Welche Funktion besitzt der Button "Bedingte Formatierungen reparieren"
c) Spalte MP verlegen auf Spalte „C“ d.b. das "X" dort einfügen
d) Bitte kurz Aufzeigen welche Änderungen ich tätigen müsste wenn ich den Bericht erweitere hinsichtlich weiterer XYZ Koordinaten
e) Bitte kurz Aufzeigen welche Änderungen ich tätigen müsste wenn ich den Bericht erweitere hinsichtlich einem weiteren Registerblatt mit diversen Funktionsmaßen
f) Muss die Ausgabdatei „Einzelbericht.xls“ bezeichnet werden?
https://www.herber.de/bbs/user/71962.xls
Gruß + Dank
Alex

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

Betreff
Benutzer
Anzeige
AW: Makro Messberichte erstellen mittels UsreForm
19.10.2010 04:23:29
fcs
Hallo Alex,
zu a)
Der Fehler 1004 trat bei mir nur auf, wenn ich das Überschreiben einer vorhandenen Protokoll-Datei mit Nein oder Abbrechen quittiert hab. Und dann soll die bereits erstellte Brichtsdatei ohne Speichern wieder geschlossen werden.
Falls der Fehler 1004 aus anderen -mir nicht bekannten Gründen- auftritt, dann kann es zu diesem Folgefehler mit dem Makroabbruch kommen.
Wan tritt denn dieser Fehler bei dir auf?
zu b)
In der Beispieldatei, die du hochgeladen hattes waren in den Tabellen mit den Messpunktdaten bedingte Formatierungen enthalten, um die Messwerte zu kennzeichnen, die außerhalb der Toleranz liegen. Allerdings zum Teil etwas chaotisch und ich bekam in Excel 2007 den Hinweis, dass die bedingten Formatierungen nicht mit Excel 2003 kompatibel sind. Das Makro zum Button erstellt in den 3 Messdaten-Tabellenblättern die bedingten Formatierungen neu und für die Spalten A und B wird die Formatierung so eingestellt, dass der Zellhintergrund gelb wird, wenn nach dem Erstellen des Einzelergebnis-Protokolls in Spalte S ein "x" eingetragen wird.
zu c)
Bevor du die Spalte C für die Markierung verwendest solltest du bedenken, wie du die Daten aus dem Messprogramm in die Exceltabelle übernimmst. ggf. wäre es einfacher, wenn du für die Markierung dann die Spalte A verwendest.
Durch Verschiebung der Kennzeichnung "MP" nach Spalte C verschieben sich natürlich fast alle anderen Spalten und Anpassungen im Makro werden erforderlich.
Die Startwerte und Endwerte von For-Next-Schleifen und einzene Spaltennummern müssen angepasst werden.
z.B:
For Spalte = 3 to 17 Step 2
wird zu
For Spalte = 4 to 18 Step 2
'Zeile mit erstelltem Einzelbericht in Spalte S markieren
wks_X.Cells(Zeile, 19) = "x"
wks_Y.Cells(Zeile, 19) = "x"
wks_Z.Cells(Zeile, 19) = "x"
wird zu
'Zeile mit erstelltem Einzelbericht in Spalte S markieren
wks_X.Cells(Zeile, 3) = "x"
wks_Y.Cells(Zeile, 3) = "x"
wks_Z.Cells(Zeile, 3) = "x"
.FormatConditions.Add Type:=xlExpression, Formula1:="=" _
& wks.Cells(zeile1, 19).Address(rowabsolute:=False, _
columnabsolute:=True, ReferenceStyle:=xlA1) & "=""x"""
wird zu
.FormatConditions.Add Type:=xlExpression, Formula1:="=" _
& wks.Cells(zeile1, 3).Address(rowabsolute:=False, _
columnabsolute:=True, ReferenceStyle:=xlA1) & "=""x"""
For Spalte = 4 To 18 Step 2
wird zu
For Spalte = 5 To 19 Step 2

zu d)
Für weitere XYZ-Koordinaten muss du für jede XYZ-Kordinate den oberen Zähler in den For-Next-Schleifen um 2 erhöhen.
zusätzlich muss du ggf im folgenden Abschnitt die Startzeilen für die Z- und Y-Koordinaten anpassen.
            'Quell-Tabellenblatt und Startzeile im Ergebnisblatt setzen
Case 1: Set wks = wks_X: ZeileZ = 11
Case 2: Set wks = wks_Z: ZeileZ = 22
Case 3: Set wks = wks_Y: ZeileZ = 33

zu e)
Nach dem gleichen Schema wie jetzt das Blatt "Einzelbericht" als wksZiel definiert und mit Daten gefüllt wird kannst du ein 2. Blatt als Zielblatt definieren und mit Daten füllen.
zu f)
Den Namen der Mustervorlage-Datei für das Einzelberichts-Protokoll kannst du beliebig wählen.
Gruß
Franz
Anzeige
AW: Makro Messberichte erstellen mittels UsreForm
19.10.2010 12:54:50
Alex
Hallo Franz,
besten Dank vorab für deine schnelle Antwort.
zu a) Die Fehlermeldung bekomme ich bei jeder normalen Ausführung des Makros Button "Ausgabeprotokoll erstellen".
Es ist ja nicht so das der Makro nicht ausgeführt wird bzw. funktioniert aber an der oben genannten Stelle bleibt er dann immer stehen und bricht ab.
Kann das evt. damit zusammenhängen das die bedingten Formatierungen bei mir noch vorhanden sind?
Der von dir geschriebene Makro hinsichtlich der bedingten Formatierungen funktioniert bei mir ja nicht!
If Not wbZiel Is Nothing Then wbZiel.Close savechanges:=False
zu b) bei der Aktivierung des Buttons "bedingte Formatierung reparieren" bekomme ich die Meldung
Laufzeitfehler 438.
Objekt unterstützt diese Eigenschaft oder Methode nicht

zu c) Nein Spalte "C" war nur ein Vorschlag. Spalte "A" ist völlig OK.
Für Spalte "A" wären die Änderungen dann
'Zeile mit erstelltem Einzelbericht in Spalte S markieren
wks_X.Cells(Zeile, 19) = "x"
wks_Y.Cells(Zeile, 19) = "x"
wks_Z.Cells(Zeile, 19) = "x"
wird zu
'Zeile mit erstelltem Einzelbericht in Spalte S markieren
wks_X.Cells(Zeile, 1) = "x"
wks_Y.Cells(Zeile, 1) = "x"
wks_Z.Cells(Zeile, 1) = "x"
Ich würde mich ertmal selbst versuchen und wenn ich verzweifle dann würde ich deine Hilfe in Anspruch nehmen.
zu d) Kannst du mir eine For-Next Schleife inkl. der Zählererhöhung kurz an einem Beispiel zeigen?
zu e) Die zusätzlichen Informationen von einem Bauteil sollen zusätzlich in den gleichen Einzelbericht wie die XYZ Daten eingetargen werden.
Wäre das dann z.B. so umsetzbar?
Case 1: Set wks = wks_X: ZeileZ = 11
Case 2: Set wks = wks_Z: ZeileZ = 22
Case 3: Set wks = wks_Y: ZeileZ = 33
Case 4: Set wks = wks_A: ZeileZ = 44?
Gruß + Dank
Alex
Anzeige
AW: Makro Messberichte erstellen mittels UsreForm
20.10.2010 06:16:42
fcs
Hallo Alex,
ich hab die Userform-Prozeduren nochmals angepasst.
Am Beginn des Userform-Codes sind jetzt Konstanten definiert, die die Struktur des 3 Messdatenblätter beschreiben. Hier kannst du die Spalte des letzten Messpunktes anpassen.
zu a) was jetzt genau der Auslöser für die Meldung ist? Ich hab immer noch keine Idee.
zu b)
Ich hab die Proedur zur bedingten Formatierung angepasst. Es waren einige Anweisungen drin, die erst ab Version 2007 verfügbar sind. Ich hoffe ich hab alle erwischt.
zu c)
Makros sind umgestellt auf Markierung in Spalte A. Es sind an so vielen Stellen Änderungen erforderlich, dass ich deine Hilferufe besser nicht erst abwarte.
zu d) Für weitere Messpunkte muss du in der neuen Version die entsprechende Konstante mit der Spalte des letzten Messpunktes anpassen.
Aber auf aus
For Spalte = 3 to 17 Step 2
mach
For Spalte = 3 to 19 Step 2
oder ähnlich für einen weiteren Messpunkt hättetst du aber wohl auch selber kommen können, oder?
zu e)
Ich nehme an, dass die Tabelle mit den Funktionsdaten anders aufgebaut ist als die 3 Messdatenblätter. Deshalb besser einen eigenen Code-Abschnitt für das Eintragen der Funktionsdaten ab Zeile 44 des Berichts anlegen.
Beispiel findest du in den entsprechenden Dateien.
Gruß
Franz
https://www.herber.de/bbs/user/71980.zip
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige