bin schon wieder mal am Ende mit meinem Latein irgendwie ist das ziemlich oft so.
Ich habe ein Excel-Blatt indem ich Daten eingebe. Das Blatt heißt (Data Input Sheet). Hier ist die Flugstrecke:
MUC - FRA FRA - HAM HAM - MUC
eingegeben.
Vorhanden sind bis zu 14 zeilen für weitere Eingaben.
Dann soll dann alles ordentlich und anschaulich auf das "Cover Sheet" übertragen und dargestellt werden. Da sind natürlich auch 14 Zeilen vorhanden. Hier werden die Daten von dem "Data Input Sheet" dargestellt. Derzeit sind da natürlich viele Leerzeilen vorhanden (Platzhalter).
Jetzte würde ich gerne das "Cover Sheet" so bauen, dass die Zeilen nur erscheinen (also Z8 - Z34) wenn in der gleichen Zeile von dem "Data Input Sheet" eine Strecke enthalten.
In wenigen Worten. Wenn ein Eintrag im "Data Input Sheet" ist soll das auf dem Coversheet erscheinen. Leerzeilen sollen nicht auftreten.
mal etwas Grundsätzliches zu Beispieldateien. Es reicht in der Regel völlig aus, wenn du ca. 50 Datensätze zeigst. Wichtig ist dabei aber, dass der Aufbau der Datei deinem Original entspricht. Nicht sehr hilfreich ist u. a. ein Blattschutz mit unbekanntem Passwort, wie in deiner "Datenbank"; dagegen sehr hilfreich ein paar händisch eingetragene Wunschergebnisse - passend zu deinem Problem.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Also das auf dem letzten Blatt wo 100.061 Daten liegen ist kein Schreibschutz drauf. Das letzte Blatt war lediglich zu meinem eigenen Schutz, mit einem Kennwort geschützt, sodass hier nicht aus versehen was gelöscht wird.
Diese Datenbank hat aber nichts mit den 2 Blättern vorne zu tun "Cover Sheet" und "Data Input Sheet" wo eine Lösung gesucht wurde. Somit ist ist es völlig irrelevant ob da die Daten auf dem letzten Blatt gegen versenentliche Löshen geschützt sind.
Ich habe zudem so gut wie möglich ein Beispiel dargestellt, wie das Ergebniss aussehen soll. Dazu habe ich nicht ein Datensatz benützt welches dem Aufbau dem Original entspricht, sondern gleich eine Kope vom Original hoch geladen. Zudem "das es hilfreich wäre händische eingetragen Wunschergebnisse bei dieser Aufgabenstellung einzutragen" weiß ich nicht wie ich "Zeilen" die nicht vorhanden sind darstellen soll, also nicht eingeblendete Zeilen als Wunschergebniss darstellen soll.
In der Aufgabenstellung ging es mir darum, dass wenn auf dem einem Blatt was eingetragen wird, es dann auf dem anderem Blatt automatish dargestellt wird, und dafür eine Zeile generiert wird. Diese neue Zeile zeigt dann die werte.
Also Werte aus Blatt 2..... dann wird aud Blatt 1 automatisch eine neue Zeile generiert (alsi vor dem ergebniss eingefügt) damit alles addiert wird.
mach das doch mal ins Modul "Tabelle1 (Cover Sheet)":
Code:
Private Sub Worksheet_Calculate() 'Das gehört ins Modul "Tabelle1 (Cover Sheet)" Dim i As Long Application.EnableEvents = False For i = 8 To 34 Step 2 Rows(i).Hidden = Cells(i, 2) = "" Next i Application.EnableEvents = True End Sub
Sollte automatisch laufen.
Tut es das? Macht es das, was Du beschriebnen hast?
Tut mir leid aber da ist Hopfen und Malz verloren. Vor allem wegen der Vornamen-Formel MAX(AU8/0,8+AW8/3,785*1,25+AY8/1000). Es wurde mehrfach angesprochen aber Null Interesse seitens des Fragestellers. Die Formel funktioniert ja.
Ab sofort muss ich die Beiträge nicht mehr sehen.
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
20.06.2020, 19:32 (Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2020, 19:50 von KDM.)
Hallo SchiftDel,
mag auch daran liegen, dass manche Menschen nicht so Excel visiert sind wie Du, und es halt nicht gleich hin bekommen, sozusagen auf anhieb. Deshalb suchen diese Menschen ein Forum auf. An mangelder Bemühung liegt es auf jeden Fall nicht.
Aber.... schon mal vielleicht gefragt ob es an deine Art und weise liegt wir du etwas erklärst ???
Wir können uns auch gerne über etwas unterhalten wo ich dir Meilen weit überlegen bin. Ich würde mir allerings lieber auf die Zunge beißen bevor ich dich öffentlich vorführe mit den Worten "da ist Hopfen und Malz verloren". Das gebietet mit alleine schon meine Erziehung.
Best grüße, und trotzdem vielen Dank fürs drauf schauen, KD Hallo Raul,
Code:
Private Sub Worksheet_Calculate() 'Das gehört ins Modul "Tabelle1 (Cover Sheet)" Dim i As Long Application.EnableEvents = False For i = 8 To 34 Step 2 Rows(i).Hidden = Cells(i, 2) = "" Next i Application.EnableEvents = True End Sub
Ich habe viel rum probiert. Kann nicht wirklich behaupten mit Wissen voran, anber mit "hoffentlich klappt das". Nachdem ich diesen Teil aus dem Code gestrichen habe hat es funktioniert.
Code:
'Das gehört ins Modul "Tabelle1 (Cover Sheet)"
Vielen herzlichen Dank für deine freundliche Hilfe. Doch schön, dass es auch Mitmenschen gibt die freundlich und zugänlich sind.
Das Makro, das ich für Dich geschrieben habe, kann nicht mit F5 gestartet werden. Es wird immer dann ausgelöst, wenn Excel eine Berechnung machen muss. Darauf weist schon der Makroname hin. Und mein Satz "Sollte automatisch laufen."
Seltsam, dass es mit der Zeile 'Das gehört ins Modul "Tabelle1 (Cover Sheet)" nicht geht. Sie beginnt mit einem Apostroph, was die Ausführung dieser Zeile verhindert. Es ist eine sogenannte Kommentarzeile. Was hinter dem Apostroph steht, wird vom Makro nicht beachtet. Daher kann nicht sein, dass das Makro wegen dieser Zeile nicht funktioniert.
Noch was: Die Dateigröße: Die Datei auf das für die Frage Wesentliche zu reduzieren soll Deine Aufgabe sein, nicht die der Anderen. Hier ist nur Blatt1 und Blatt2 interessant. Bin unnötigerweise eine Weile gesessen, bis ich herausgefunden habe, was wichtig ist und vor allem, was hier nicht wichtig ist.
Die Doppelzeilen: Das ist bei Formeln oft eine unüberwindliche Hürde Problem, bei Makros ein lösbares Problem, was dennoch erhöhten Aufwand bedeutet. Wenn es in Deinem Einflussbereich liegt, vermeide sie. Kontinuität ist gefragt. Man kann Tabellen auch mit anderen Sachen schön gestalten, zB mit Rahmenlinien. Ich selbst gehe damit sehr sparsam um, weil sie viel Zeit kosten und damit oft vom Wesentlichen ablenken. Falls Du aber die Daten mit Zwischenzeilen so bekommst, dann kann man überlegen, entweder diese zu elimineren oder beim Makrobau damit umzugehen.