Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1580to1584
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
Inhaltsverzeichnis

VBA - fehlerhafte Auswertung

VBA - fehlerhafte Auswertung
12.09.2017 23:10:18
Marco
Guten Abend alle,
ich habe ein Problem mit meinem erstellten Analyse Tool. Und zwar soll mein Tool mir die TOP 3 Fehler und deren Häufigkeit zu den jeweiligen Stationen, in Abhängigkeit von der Materialnummer, von einem bestimmten Zeitraum anzeigen.
In der Zelle E7 gebe ich das start Datum an und in E8 das Ende. Wenn ich dann den Button betätige stimmt die Häufigkeit überhaupt nicht und ich weiß leider nicht woran das liegen kann. Das Ergebnis stimmt nur wenn ich die Werte von einem Tag wissen möchte. Kann mir bitte jemand bei meinem Problem weiterhelfen?
https://www.herber.de/bbs/user/116212.xlsm
Grüße Marco

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - fehlerhafte Auswertung
13.09.2017 01:27:08
fcs
Hallo Marco,
bei der Suche nach der letzten Zeile mit dem 2. Datum darfst du nicht auf &lt&gt vergleichen. Die For-Next-Schleife muss mit Exit verlassen werden, wenn das Datum in der Zelle &gt Datum2 ist.
also in dem entsprechenden Makro-Abschnitt ezwa so:
    If Datum2  Empty Then
'** Datum Ende (mit Zeit) in Fehlermeldungen suchen
z = j + 1 'rFind.Offset(j, 0).Row  'Datum2 suchen
For j = z To lz
If rFind.Offset(j, 0) > Datum2 Then Exit For
Next j
'kein Datum gefunden 2. Versuch Datum ohne Zeit !!
If j = z Then
For j = z To lz
If Format(rFind.Offset(j, 0), "dd.mm.yyyy") > Datum2 Then Exit For
Next j
End If
'Fehlermeldung wenn Datum2 nicht gefunden
If j = z + 1 Then MsgBox Datum2 & " in Data Base nicht gefunden": Exit Sub
End If
Das ist zumindest das was ich bei dem doch recht umfangreichen ode auf die Schnelle finden konnte.
Gruß
Franz
Anzeige
AW: VBA - fehlerhafte Auswertung
13.09.2017 09:11:43
Marco
Morgen Franz.
Danke für deine Hilfe. Jetzt werden wesentlich mehr Daten angezeigt als vorher, aber es funktioniert glaube ich immer noch nicht so recht. Wenn ich jetzt den Zeitraum 11.08 bis 11.08 auswähle findet das Makro nur 4 anstatt 5 Fehler. Vom 11 - 13 findet es 10 von 10 und vom 11.08 bis 15.08 nur 10 anstatt 15. Ich weiß aber nicht woran das liegen kann das ist echt komisch.
Weiß jemand da draußen rat?
AW: VBA - fehlerhafte Auswertung
13.09.2017 09:53:37
yummi
Hallo Marco,
schau dir mal step by step den QWert deiern Variablen j an.
Du findest Werte und speicherst diese in deiner Laufvariable für die Schleife, da ist alles noch ok. Dann gehst du hin und manipulierst das j in der nächsten Schleife, daher bekommst du falsche Werte.
Du solltest die Anzahl der gefundenen Zeilen in eienr anderen als deienr Laufvariable zwsichen speichern oder noch besser, merk dir die 1. gefundene Zeile deines gewählten Zeitraums und such nach der letzten Zeile des Zeitraums. Diese beiden werte speicherst du dir in eingenen Variablen und dann kannst Du beim Übertragen genau den Bereich auswählen und in deien Cache kopieren.
Gruß
yummi
Anzeige
AW: VBA - fehlerhafte Auswertung
13.09.2017 11:44:56
Marco
Danke Yummi, aber ich glaube dafür brauche ich schützenhilfe das schaffe ich nicht allein =/
AW: VBA - fehlerhafte Auswertung
13.09.2017 20:41:22
Piet
Hallo Marco
ich habe mir die Sache auch mal angesehen, ich denke ein Fehler liegt in der Suche des 1. Datums. Nach meiner Ansicht müsste es anstatt "ungleich" im 1.Datum "grösser/gleich" als das 1.Datum heissen!! M.E. ein rein logischer Programmierfehler.
@Yummi - Danke, du warst mit deiner Rückmeldung das die Variable "j" überschrieben wird sehr aufmerksam, hast aber die wahre Programmierabsicht des Kollegen nicht erkannt. Der zweite Fehler liegt in der If Anweisung dahinter, wo ja der 2. Auswerteversuch m.E. -nur starten soll- wenn j > lz anstatt "1" ist. Vielleicht ein reiner Flüchtigkeitsfehler?
Ich habe noch den Code für das Modul2 ein wenig geandert. Mich hat an der Beispieldatei gestört das ich zwar den Fehler sehen kann, aber der zeitliche Bezug fehlt wann er aufgetreten ist! Das habe ich geaendert, Datum mit Uhrzeit in verkürzter Form (ohne 2017) dahintergeschrieben. Schau mal ob das zum Auswerten übersichtlicher ist.
Würde mich freuen wenn der Code jetzt korrekt klappt. In dem Programm steckt sicher viel Arbeit. Das schreibt man nicht in 5 Minuten!
mfg Piet

'Aenderung im Modul 1 - Cache Auswertung:
'Datum Ende (mit Zeit) in Fehlermeldungen suchen
For j = 1 To lz
If rFind.Offset(j, 0) >= Datum Then Exit For
Next j
'kein Datum gefunden 2. Versuch Datum ohne Zeit !!
If j > lz Then   '13.9. j=1 korrigiert !!
For j = 1 To lz
If Format(rFind.Offset(j, 0), "dd.mm.yyyy") >= Datum Then Exit For
Next j
End If
If Datum2  Empty Then
'** Datum Ende (mit Zeit) in Fehlermeldungen suchen
z = j + 1 'rFind.Offset(j, 0).Row  'Datum2 suchen
For j = z To lz
If rFind.Offset(j, 0) > Datum2 Then Exit For
Next j
'kein Datum gefunden 2. Versuch Datum ohne Zeit !!
If j > lz Then   '13.9. j=z korrigiert !!
For j = z To lz
If Format(rFind.Offset(j, 0), "dd.mm.yyyy") > Datum2 Then Exit For
Next j
End If
'Fehlermeldung wenn Datum2 nicht gefunden
If j = z + 1 Then MsgBox Datum2 & " in Data Base nicht gefunden": Exit Sub
End If


'Aenderung im Modul 2 - DashBord auflisten
diese DIM Anweisung zusaetzlich oben unter DIm neu einfügen, da passiert nix!
Dim DTxt As String, Jahr As Variant
'dann im Code diesen Teil komplett austauschen
'schreibt Datum + Uhrzeit hinter den Fehler Code!!
'wenn vorhanden Top 3 Fehler auflisten
If z > 0 And DSB.Cells(j, dsbcol) = Empty Then
'Schleife für Top 3 Fehler auflisten
'Aussprung bei  Station oder Material
For j = 1 To 3
'Datum Text laden und verkürzen  (ohne Jahr + sec.)
DTxt = CStr(.Cells(k, 2))   '** neu eingefügt  13.9.
DTxt = Replace(Left(DTxt, Len(DTxt) - 3), Jahr, "")
If .Cells(k, 3)  Station Then Exit For   'Station
If .Cells(k, 4)  Material Then Exit For  'Material
DSB.Cells(z, dsbcol + 0) = .Cells(k, 6)    'Häufigkeit
'** neu: Fehler Text mit gekürztem Datum + Uhrzeit
'DSB.Cells(z, dsbcol + 1) = .Cells(k, 5)  'Old, ohne Zeit
DSB.Cells(z, dsbcol + 1) = .Cells(k, 5) & Space(6) & DTxt
.Cells(k, 7).Value = " Ok"                 'ist notiert
z = z + 1:  k = k + 1  'next Zeile
Next j

Anzeige
AW: funktioniert noch nicht
13.09.2017 21:41:55
Marco
Abend Piet,
so ganz funktioniert es immer noch nicht und ich glaube ich weiß warum. Ich möchte mir ja die TOP 3 Fehler anzeigen lassen. Das wird auch gemacht, aber er zeigt mir nur die TOP 3 von einem Datum an.
Wenn ich z.B. alle vom 11.08 sehen möchte werden diese richtig dargestellt. wenn ich mir aber alle vom 11.8 bis 15.08 anzeigen lassen möchte werden nur die ersten drei fehler vom 11 abgebildet. wenn es in einer spalte aber keine fehler vom 11.08 gibt werden die vom 13.08 abgebildet. Es werden so zusagen immer nur die Fehler vom jeweiligen Tag angezeigt. Ich wollte mir aber alle Fehler von dem Zeitraum anzeigen lassen.
Sprich ich möchte die Summe der drei häufigsten Fehler mit der Anzahl an der jeweiligen Station zur jeweiligen Materialnummer anzeigen lassen. Das heißt im gewählten Zeitraum 11 bis 15 soll mir die Summe aller Fehler Typen angezeigt werden. Wenn ich mir den Cache anschaue wird mir, aber nur die Summe des jeweiligen Tages angezeigt und nicht die summe aus allen Tagen.
Im Tabellenblatt Cache gibt es den Fehler "falsche Position" am 15.08 bei der Anlage 20001 mit der Materialnummer 310 genau drei mal und am 13.08 gibt es den Fehler zweimal. Das ergibt in der Summe 5 mal den Fehler "falsche Position". Auf der Dashboard Seite wird der Fehler aber nur mit einer Häufigkeit von 2 abgebildet und nicht mit 5. Es fehlt sozusagen noch der Befehl das aus den Einzelsummen der einzelnen Tage eine Gesamtsumme aller Tage gemacht wird.
Oh Gott ich glaube das war jetzt alles sehr kompliziert. Ich hoffe mir geht es morgen besser, dann bin ich vielleicht auch fitter im Kopf.
Gute Nacht alle zam
Beispieldatei mit angepassten Code und dem erwähnten Beispiel:
https://www.herber.de/bbs/user/116230.xlsm
Anzeige
AW: funktioniert noch nicht
14.09.2017 06:46:08
Piet
Hallo Marco
Sorry wenn es noch nicht klappt, habe mir die Beispieldatei gelasden und bleibe dran. Habe aber noch einen anderen Trhead offen den ich gerade bearbeitet. Das waer doch gelacht wenn wir das Ding nicht ans laufen kriegen. Ich bitte um etwas Geduld, melde mich ...
mfg Piet
AW: VBA - fehlerhafte Auswertung
13.09.2017 20:10:07
Marco
Hi Yummi,
ich bin es nochmal. Ich versteh was du meinst, aber bei mir hapert es an der Umsetzung. Könntest du mir vielleicht bitte dabei helfen? Alleine bekomme ich das nicht hin.
Grüße Marco
AW: VBA - fehlerhafte Auswertung
14.09.2017 13:39:38
yummi
Hallo Marco,
du suchst in deienr SChleife das Anfangsdatum, was soweit alles passt. Dan nsetzt Du auf die nächste Zeile und suchst das 2. Datum. Wenn jetzt aber das Anfangsdatum = dem Enddatum ist, dann suchst du einen weiter, nimmst den Wert in deine Auswertung mit auf und stoppst (ergo ein Wert zuviel)
ändere mal folgendes:

If Datum2  Empty Then
'** Datum Ende (mit Zeit) in Fehlermeldungen suchen
z = j  'rFind.Offset(j, 0).Row  'Datum2 suchen  hier das + 1 raus
Dann passt zumindest deine rausgefundene Grundlage.
Den "Fehler", das Du bei 11. - 15. nur 10 anstatt 15 findest, ist kein Fehler. Du suchst ja nur bis 0:00 uhr und damit sind alle 5 Einträge des 15. ausserhalb des Zeitraums, ist also kein Fehler sondern korrekt, dass du nur 10 Werte findest.
Ob die Auswertung passt, habe ich mir nicht angesehen, also mach mal das + 1 raus und schau dir mal an, ob es dan nzu deinen gewünschten Ergebnissen kommt
Gruß
yummi
Anzeige
AW: VBA - fehlerhafte Auswertung
15.09.2017 00:07:30
Piet
Hallo Marco
ich habe gerade den Rat von Yummi gelesen und ihn befolgt. Bin gespannt ob es hilft.
Insgesamt habe ich das Makro in allen Modulen geaendert, deshalb eine neue Beispieldatei.
Das manuell zu erklaeren ist zu aufwendig, führt zu leicht zu Fehlern.
Vor allem habe ich auf deinen Wunsch die Sortierroutine für das 2. Datum geaendert, damit du eine gesamt Auswertung über alle Tage bekommst. Ich hoffe das es jetzt besser klappt. Die Wahrheit zeigt sich aber immer in der Praxis.
Im Tabellenblatt Dashboard ist noch ein Makro das auf Eingabe reagiert. Das musst du löschen, es stört sonst. Dort gehört der Call Aufruf für den CommandButton hin, als Startfunktion für beide Makros. Jetzt bin ich gespannt was bei deiner Prüfung herauskommt ...
mfg Piet
https://www.herber.de/bbs/user/116251.xlsm
Anzeige
AW: VBA - fehlerhafte Auswertung
15.09.2017 09:39:41
yummi
Hall Piet,
du hast jetzt auf meien Beitrag geantwortet aber nciht auf den des Fragestellers, ich hoffe er liest es trotzdem
Gruß
yummi
AW: VBA - fehlerhafte Auswertung
15.09.2017 13:25:05
Marco
Vielen Dank für eure Hilfe. Die Zuordnung und Anzahl stimmt jetzt perfekt =). Also ich habe es ca. 2 Stunden lang getestet mit verschiedenen Zahlen und Situationen und dann die Fehler alle gezählt. Bis jetzt hat alles gepasst. Ich würde das Thema auch gerne abhacken, aber leider ist mir noch was aufgefallen beim testen.
1. die TOP 3-Fehler werden mir nicht immer richtig angezeigt (in der angehängten Datei habe ich die betroffenen Stellen gelb markiert), das heißt bei der Station 20008 z.B. stehen drei Fehlercodes mit einer Häufigkeit von 1. Bei den Überlauffehlern ist einer mit einer Häufigkeit von 1 da und einer mit einer Häufigkeit von 6. Der Fehlercode der 6 mal vorkommt sollte aber ganz ob unter den TOP 3-Fehler stehen und nicht als Überlauf angezeigt werden.
2. Ich bekomme beim betätigen des Buttons die Meldung "Zelle $V$32 bereits belegt". Ich habe aber keine Ahnung was damit gemeint ist, ob die Meldung wichtig ist oder ich sie einfach ignorieren kann. Ich weiß auch nicht ob das auf irgendetwas eine Auswirkung hat.
3. Ich habe noch getestet wie sich das Makro verhält, wenn in der Data Base mitten drin ein anderes Datum eintrage z.B. 11.08.2018 14:30:00, dann hört das Makro an der stelle auf zu arbeiten oder bringt manchmal die Fehlermeldung "Ungültiger Prozeduraufruf oder Argument" und verweißt auf diese Zeile in VBA "DTxt = Replace(Left(DTxt, Len(DTxt) - 3), Jahr, "")" Wenn ich aber davor die Spalte mit dem Datum sortiere klappt es wieder. Vll sollte ich per VBA das vorher sortieren lasseen.
Aber ansonsten ist alles toll und wunderbar =) Wenn ihr mir bei Punkt 1 noch helfen könntet wäre ich euch sehr dankbar. Punkt 3 kann ich glaube selber lösen, wenn es nur am sortieren liegt und Punkt 2, da habe ich ka was das ist.
VG Marco
https://www.herber.de/bbs/user/116266.xlsm
Anzeige
AW: VBA - fehlerhafte Auswertung
16.09.2017 01:55:06
fcs
Hallo Marco,
ich hatte auch schon begonnen mich mit deinem Problem weiter zu beschäftigen, aber mich zurückgehalten nachdem Piet und Yummie dir weiter geholfen haben.
'Datei mit angepasstenMakros

Die Datei https://www.herber.de/bbs/user/116287.xlsm wurde aus Datenschutzgründen gelöscht


Problem 1: TOP3 nicht immer korrekt
Hier muss man bei der Aufbereitung der Daten in "Cache" noch etwas mehr in die Sortierung investieren.
Ich hab es jetzt so gelöst:
1. Häufigkeit per Formel ermitteln, dann Formeln durch Werte ersetzen
2. Daten Sortieren nach Station, Material, Häufigkeit(absteigend)
3. In einer Schleife die TOP 1 bis TOP x eintragen
4. In einer Hilfsspalte per Formel Station, Material und TOP verbinden, so dass nach dem Sortieren die Zeilen ohne Häufigkeitswert ans Ende der Liste verschoben werden.
Die Schritte 3 und 4 musste ich einbauen, damit dein Makro zur Übernahme der Daten ins Dashboard nicht umgestrickt werden muss.
Diese Aufbereitung hab ich in der separaten Sub
Sub AufbereitenCacheDaten(wks As Worksheet, Zeile_L As Long)
programmiert. Diese Sub wird am Ende von Makro "Fehlerliste_Auswerten" aufgerufen.
Problem 2: Ich bekomme beim betätigen des Buttons die Meldung "Zelle $V$32 bereits belegt".
Diese Meldung kommt bei Station/Material mit mehr als 3 Fehlern (also Überlauf)
Hier hast du
" 'Schleife für Überflüssige Fehler überspringen"
nicht korrekt programmiert und eingebaut.
Dadurch liefert
              k = k - 1   'Korrektur -1 für next Startadresse

einen falschen Zeilenwert und ein bereits übertragener Fehler wird nochmals verarbeitet.
Das hab ich korrigiert.
Problem 3: Fehler bei DTxt
Im Moment benutzt du diesen Wert ja nicht weiter und könntest die 2 Zeilen einfach löschen.
Mit folgender Anpassung sollte es keinen Fehler geben.
               'Datum Text laden und verkürzen  (ohne Jahr + sec.)
With .Cells(k, 2)
If IsDate(.Value) Then
DTxt = Format(CDate(.Value), "DD.MM. hh.mm")
Else
DTxt = .Text
End If
End With

Unabhängig vom Fehler musst du die Zeilen in "Data Base" aufsteigend nach DatumZeit sortieren, sonst funktioniert die Suche nach dem Datumsbereich nicht korrekt.
Gruß
Franz
Anzeige
AW: VBA - fehlerhafte Auswertung
16.09.2017 14:56:20
Marco
Hi Franz,
danke für deine Mühe und Hilfe. Ich habe gerade ebend deine Datei ausprobiert und bin echt happy das es jetzt läuft. Ich konnte es zwar nur kurz testen, aber bis jetzt ist alles i.O. =).
Eine Sache ist mir noch aufgefallen, das wenn in "Data Base" die Datums durcheinander sind läuft der Code weiter aber er zählt nicht richtig. Das Problem habe ich aber jetzt so gelöst, ka. ob es stimmt und eine gute Lösung ist aber es scheint zu funktionieren. Ich lasse nämlich bevor das eigentliche Makro loslegt erst die Datums aufsteigend sortieren mit folgenden Code:
ActiveWorkbook.Worksheets("Data Base").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Data Base").AutoFilter.Sort.SortFields.Add Key:= _
Range("K8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Data Base").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Worksheets("Data Base").Range("E8").Activate
Ich werde dir und allen anderen heute Abend oder morgen nochmal schreiben, nachdem ich alles ausgiebit getestet habe.
Aber ich bedank mich jetzt schon mal bei allen für die super Hilfe.
VG Marco
Anzeige
eine neue Frage
18.09.2017 20:12:04
Marco
Guten Abend Piet, Franz und Yummi,
ich möchte mich nochmal bei euch für eure Hilfe bedanken. Beide Beispieldateien laufen wunderbar. Ich würde euch gerne noch etwas Fragen, wenn ich darf ansonsten mach ich einen neuen Beitrag auf.
In der Beispiel-Datei, ich nehme jetzt einfach mal die von Franz, wird die Materialnummer im Dashboard mit folgendem Code gesucht:
        'Suche die Material Nummer in Dashboard Spalte "G9" - XXX
Set rFind = DSB.Range("G9", DBEdr).Find(What:=Material, After:=Range("G9"), LookIn:= _
xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False)
If rFind Is Nothing Then MsgBox "Suchlauf Fehler" & vbLf & Station & "  " & Material &  _
" - nicht gefunden"
If Not rFind Is Nothing Then
'Bereichs Name zum Prüfen laden
Bereich = DSB.Cells(rFind.Row, "D").Value
dsbcol = rFind.Column + 1  'Material Spalte
'wenn vorhanden suche Station Name in diesem Bereich
'** Aussprung wenn next Bereich vorkommt!!
For j = rFind.Row + 1 To lzDsb
If Left(DSB.Cells(j, "D"), 7) = "Bereich" Then Exit For
'** If DSB.Cells(j, "E") = Station Then z = j: Exit For
If DSB.Cells(j, "D") = Station Or DSB.Cells(j, "E") = Station Then z = j: Exit For
Next j
If z = 0 Then MsgBox Bereich & ":  " & Station & "  nicht gefunden"
'wenn vorhanden Top 3 Fehler auflisten
If z > 0 And DSB.Cells(j, dsbcol) = Empty Then
'Schleife für Top 3 Fehler auflisten
'Aussprung bei  Station oder Material
For j = 1 To 3
'Datum Text laden und verkürzen  (ohne Jahr + sec.)
With .Cells(k, 2)
If IsDate(.Value) Then
DTxt = Format(CDate(.Value), "DD.MM. hh.mm")
Else
DTxt = .Text
End If
End With
If .Cells(k, 3)  Station Then Exit For   'Station
If .Cells(k, 4)  Material Then Exit For  'Material
DSB.Cells(z, dsbcol + 0) = .Cells(k, 6)    'Häufigkeit
'** neu: Fehler Text mit gekürztem Datum + Uhrzeit
'DSB.Cells(z, dsbcol + 1) = .Cells(k, 5)  'Old, ohne Zeit
'DSB.Cells(z, dsbcol + 1) = .Cells(k, 5) & Space(6) & DTxt
DSB.Cells(z, dsbcol + 1) = .Cells(k, 5)  'Old, ohne Zeit
.Cells(k, 7).Value = " Ok"                 'ist notiert
z = z + 1:  k = k + 1  'next Zeile
Next j
In der Zelle G9 steht z.B. die Materialnummer 110. Jetzt habe ich das Problem das sich die Materialnummer ändern kann und ich in der Data Base nach zwei Materialnummern z.B. 110 und 111 suchen muss wenn ich einen bestimmten Zeitraum eingebe in denen beide vorkommen könnten. Das Problem ist ich kann ja nicht mehrere Nummern in die Zelle G9 schreiben. Deswegen dachte ich mir verwende ich doch besser ein Array, anstatt G9 direkt ansprechen:
         'Suche die Material Nummer in Dashboard Spalte "G9" - XXX
Set rFind = DSB.Range("G9", DBEdr).Find(What:=Material, After:=Range("G9"), LookIn:= _
xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
ein Array einbauen welches ich vorher deklariert habe also so:
        MatNumber = Array(110, 111)
'Suche die Material Nummer in Array MatNumber
Set rFind = DSB.Range(MatNumber, DBEdr).Find(What:=Material, After:=Range(MatNumber),  _
LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
Leider funktioniert mein Code so nicht. War mein Gedanke an der Stelle vielleicht falsch, dass das so gehen kann?
VG Marco
Beispiel Dateie: https://www.herber.de/bbs/user/116342.xlsm
AW: VBA - fehlerhafte Auswertung
15.09.2017 21:40:56
Marco
Abend Piet, ich weiß nicht ob du eine Benachrichtung bekommst wenn ich auf Yummis Beitrag antworte, deswegen schreibe ich dir hier nochmal. Also ich habe auf deine und seine Fragen in Yummis Beitrag geantwortet.
Euch einen netten Abend noch
VG Marco
AW: VBA - fehlerhafte Auswertung
16.09.2017 11:30:51
Piet
Hallo Marco
ich habe alle Nachrichten gelesen und deine letzte Beispieldatei naoch mal überarbeitet, und neu hochgeladen.
Ich sehe auch das es von Franz eine Beispieldatei gibt, Dankeschön für seine Mühe beim Thread mitzuhelfen.
Weil ich in Reisevorbereitung bin kann ich seine Datei nicht mehr testen, mache ich nach dem Urlaub.
Schau dir einfach beide Dateien an, und nimm das Ergebnis was dir zusagt. Technische Infos:
In der Sortierroutine habe ich Spalte F auf Descending gesetzt, damit die 6 vor der 1 kommt.
Den Teil mit "Zelle belegt" habe ich auch überarbeitet, die Meldung kommt jetzt nicht mehr.
Den Teil mit Replace habe ich durch zweimal Mid(Dtxt) ersetzt, wegen Fehler beim Jahr 2018.
Ich hoffe das ich damit allre Fehlker beseitigen konnte. Wir werden es sehen ...
Zur sicherheit habe ich noch zwei Fehlermeldungen eingebaut. Tritt ein unerwartete Fehler auf bekommt man das per MsgBox angezeigt, das Programm laeuft aber weiter durch. Um den defekten Code zu sehen muss "On Error" durch vorgestelltes ' Zeichen deaktivieren werden. Dann wird der defekte Code gelb markiert.
Ich schaue vor meiner Abreise noch mal kurz rein.
mfg Piet
https://www.herber.de/bbs/user/116290.xlsm
AW: geschlossen oWt
18.09.2017 22:20:20
Piet
...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige