Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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

Klexy gesucht

Klexy gesucht
12.03.2015 12:43:06
Stephan
Hallo Klexy,
vielleicht stelle ich mich einfach nur zu doof an, ich versuche verzweifelt auf deinen letzten Beitrag in dem Thread
https://www.herber.de/forum/archiv/1412to1416/t1413003.htm#top
zu antworten. Ich kriegs nicht hin! Der Thread wurde wohl ins Archiv verschoben und anscheinend ergibt sich daraufhin für mich keine Möglichkeit den dann weiterzuführen. Ist das so, dass Beiträge im Archiv nicht fortgesetzt werden können? Aber wie gesagt, vieleicht bin ich auch einfach nur zu blöd...
Ich wollte dir eigentlich nur HERZLICH DANKEN! Dein Code ist genau das, was ich mir vorgestellt hatte. Perfekt!
Könnte man darin noch eine Passwortabfrage unterbringen, um doch den Blattschutz zu verwenden?
viele Grüße, Stephan

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klexy gesucht
12.03.2015 13:55:27
Klexy
Die Threads wandern nach einigen Tagen ins Archiv. Keine Ahnung, ob und wie man das rückgängig machen kann. Wissen vielleicht die alten Hasen hier im Forum. Ich bin neu.
Passwort kannst du natürlich einbauen:
Entsperren vor "If Target..."
ActiveSheet.Unprotect "Blabla"
Wieder sperren vor "Ende:"
ActiveSheet.Protect "Blabla"

AW: Klexy gesucht
12.03.2015 14:26:57
Stephan
Hallo Klexy,
echt großartig!
Klasse, dass du dir soviel Zeit genommen hast.
Nochmals:
Vielen Dank!
viele Grüße, Stephan

Hier noch ne Lösung...
12.03.2015 14:25:14
EtoPHG
Hallo Stephan,
Hier mal eine Lösung, die nicht mit den unsäglichen, gefährlichen und überflüssigen .Select und .Activate VBA-Befehlen arbeitet.
Ein Doppelklick in die von/bis 'Bereitschaftdienst' Zellen, erstellt (wenn alle Bedingungen erfüllt sind) eine Kopie der Zeile.
Ein Rechtsklick in die gleichen Zellen, löscht sie ggf. wieder.
Zudem sind die bed. Formatierungen vereinfacht. Die Feiertage als Namensbereicht definiert und sonst noch einige kleine Kosmetiken durchgeführt.
Aus dem Code kannst du auch (ein dir bekanntes) Passwort ersehen ;-)
Gruess Hansueli

Anzeige
AW: Hier noch ne Lösung...
12.03.2015 14:37:55
Stephan
Hallo Hansueli,
super, sehr elegante Lösung!
Auch dir HERZLICHEN DANK für die Zeit und die Mühe,
auch diese Lösung werde ich meinen Kollegen und Vorgesetzten vorstellen, werden bestimmt begeistert sein!
viele Grüße, Stephan
P. S.: das Gimmick mit dem Paswort war/ist sehr cool! ;)

AW: Hier noch ne Lösung...
12.03.2015 17:04:46
Klexy
@ Hansueli:
Warum sind denn Select und Activate so böse?
Deine Lösung gefällt mir, einiges kannte ich noch nicht.
Aber die Verwendung einer Hilfsspalte ist etwas unelegant.
Man kann sie weglassen, wenn man statt
If Cells(Target.Row, 14) = 0 Then

folgenden Code verwendet:
If WorksheetFunction.NetworkDays(Cells(Target.Row, 1), Cells(Target.Row, 1), _
Application.Names("Feiertage").Index) Or Weekday(Cells(Target.Row, 1) > 5) Then

Nach dem, was Stephan über seine User gesagt hat (und nach meinen Erfahrungen mit Usern), halte ich die Lösung mit den Klicks für problematisch. User mit wenig Ahnung klicken gern mal irgendwo rum. Zum Beispiel Doppelklick in eine Zelle, um den Eintrag dann oben in der Funktionszeile zu machen. Dann kriegen sie eine Meldung, die sie nicht durchlesen und kommen angerannt.
Und "rechter Mausklick --> Zeile weg" merken sie unter Umständen gar nicht. Am Ende des Monats ist dann das Geschrei groß.
@ Stephan:
Irgendeine Zelle in der zu duplizierenden Zeile markieren und einen Button klicken ist eine klare Angelegenheit, die jeder DAU versteht und aller Wahrscheinlichkeit nach nicht versehentlich machen kann. Ein "Zeile löschen" würde ich nicht machen, denn dann sind die Werte aus der Zeile auch weg und eine eventuell überflüssig erstellte Zeile frisst kein Brot und kann man lassen.
Nur mal so aus der Praxis gesprochen.

Anzeige
AW: Hier noch ne Lösung...
12.03.2015 18:20:19
EtoPHG
Hallo Klexy,
Nur mal so aus der Praxis gesprochen:
Wer mit .Select und .Activate Codes arbeitet, beweist höchstens, dass er weiss wie der Makrorekorder zu gebrauchen ist. Beiträge zu diesem Thema findest du zu Hauf in Excel-Foren. Aber anscheinend kennst du die Geschichte vom Malermeister und seinem Gesellen noch nicht, bietest auf der anderen Seite aber Programmierung und Ausbildung in Excel an. Sorry, aber wenn ich deine Codes lese, sträuben sich bei mir meistens die Nackenhaare.
Die allgemein verbreitete Abneigung gegen Hilfsspalten zeugt auch nicht gerade von ausgeprägten Excel-Kentnissen. Einfache Formeln in Excel sind rasend schnell. VBA-Code ist langsam, wartungsaufwändig und fehleranfällig. Da sind mir die Hilfspalten, die der Anwender nicht zu sehen braucht, 100x lieber und eine Formel ist schnell zu ändern oder ergänzen (auch von Laien mit Low-Level-Kentnissen), ohne in den Code einsteigen zu müssen. Du beweist es ja selbst, indem du einen Codevorschlag machst, der nie und nimmer der Hilfsspalten-Lösung entspricht, sondern schlicht und ergreifend ein falsches Ergebnis liefert. Überleg dir nur mal was dein im Code verwendete Parameter Application.Names("Feiertage").Index. Wie sagte Wolgang Pauli: It's not even wrong!
Deine Verteidigung für einen Button und der DAU-Argumentation kann ich nicht folgen und aus deinen Erläuterungen, dass da plötzlich Zeilen verschwinden, muss ich ableiten das du meinen Code nicht genügend getestet hast.
Just my 5 Cents.
Gruess Hansueli

Anzeige
AW: Hier noch ne Lösung...
13.03.2015 15:16:06
Klexy
Du hast jetzt zwar eine wunderschöne Tirade vom Stapel gelassen, wie blöd und schlecht ich bin, aber meine Frage hast du nicht beantwortet, um mich wenigstens ein wenig an deiner Allwissenheit teilhaben zu lassen.
Die Links hab ich mir gespart. Wenn sie ähnlich gehaltvoll wie dein Statement sind, hab ich Zeit gespart.
Schönes Wochenende.

Deine Frage wird im 1. Link beantwortet! (owT)
13.03.2015 15:19:53
EtoPHG

AW: Hier noch ne Lösung...
13.03.2015 15:28:54
EtoPHG
Hallo Klexy,
Ich stell dich weder als 'blöd' noch als 'schlecht' hin.
Dein Enthusiasmus für Excel ist bewundernswert. Auch deine Hilfestellungen sind für Anfrager oft nützlich. Ich wollte Dir mit meiner, zugegebenermassen harschen, Kritik nur helfen, Dich in einigen Punkten zu verbessern und auch deine vorgeschlagenen Codes besser zu testen.
Das ich statt Formeln Worksheetfunctions verwenden kann, aber weder muss noch u.U. will!, ist mir bekannt. Ich hatte ursprünglich die Networkdays-Methode sogar in meinem Code, nahm dann trotzdem die Hilfspalte um dem Anfrager zu zeigen, wie man es einfach machen kann und zudem noch eine Grundlage für die bedingte Formatierung zu schaffen, die auch diese wiederum verständlicher macht.
Ich wünsch Dir trotz allem ein schönes WE
Gruess Hansueli

Anzeige
AW: Hier noch ne Lösung...
16.03.2015 11:35:07
Klexy
Ich habe prinzipiell nichts gegen Hilfsspalten, habe mich nur gewundert, dass, wenn schon, nicht alles per Makro läuft. Hätte ja sein können, dass du diese Funktion nicht kennst und nur deshalb zur Hilfsspalte gegriffen hast.
Das mit der bedingten Formatierung ist doch eine Erklärung, die ich nachvollziehen kann, wenn du es dazusagst.
Und ich kann nicht erkennen, wo Application.Names("Feiertage").Index ein falsches Ergebnis liefert. Lief im Test bei mir perfekt.
Kritik als Hilfe funktioniert besser konstruktiv, also "das ist nicht gut, WEIL..." oder "das ist so besser, WEIL... " Da bin ich der letzte, der sich neuem Wissen verschließt (wie du auch meiner ersten Anmerkung entnehmen kannst).
Meine Kritik an deiner Lösung war begründet (weil den Usern eine gewisse Disziplin beim Klicken abverlangt wird, die sie in der Masse nicht garantieren können). Das heißt nicht, dass deine Lösung falsch ist, aber evtl. gewisser Sicherheits-Ergänzungen bedarf. Das entspricht meiner 18jährigen Erfahrung mit Usern verschiedener Professionalität im Umgang mit Excel. Und Stephan hatte ja angedeutet, dass er User "unterschiedlicher Excelkenntnisse" hat.
Er wird selber am besten wissen, was er seinen Usern letztlich zumuten will und was nicht.
Und dass ich Excel auch schule, liegt nicht daran, dass ich alles weiß, sondern dass ich mich in Leute hineinversetzen kann, die weniger wissen als ich und das didaktisch einigermaßen verständlich aufbereiten kann, ohne sie zu überfordern oder zu frustrieren.
Vielleicht hast du ja nur einen schlechten Freitag erwischt mit deiner Anmerkung.
Bei Gelegenheit werde ich mir den Malermeister zu Gemüte führen und hoffe, dort wieder was lernen zu können. Danke für den Link.

Anzeige
Application.Names("Feiertage")
16.03.2015 14:09:10
EtoPHG
wäre richtig, Klexy,
Weil dies die Range der Feiertage liefern würde.
.Index liefert nur den Index der Bereichsnamen, in vorliegenden Fall 3, weil noch 2 andere benannte Bereiche im Arbeitsblatt existieren.
Also würde bei deiner Art des Befehls einzig und allein der 3.1.1900 als Feiertag klassifiziert, sprich dieser Tag bei den NETTOARBEITSTAGEN nicht berücksichtigt!
Gruess Hansueli

AW: Application.Names("Feiertage")
16.03.2015 18:36:32
Klexy
Jetzt hab ich meinen Fehler gefunden. Application.Names("Feiertage") gehört überhaupt nicht hin. Es muss Range("Feiertage") heißen.
So funktioniert es:
        If WorksheetFunction.NetworkDays(Cells(Target.Row, 1), Cells(Target.Row, 1), Worksheets( _
"Tabelle1").Range("Feiertage")) = 0 Or Weekday(Cells(Target.Row, 1)) > 5 Then

Anzeige
Ausgeblendette (Hilfs-)Spalten sind mir nicht ...
13.03.2015 15:48:14
Luc:-?
…lieber, weil ich mit solchen „Müllsammlern“ schon schlechte Erfahrungen machen musste, Hansueli…
In einem solchen Orkus kann so manches verschwinden, zumal, wenn er sich auch noch mitten in einer Tabelle befindet. Das wäre bspw mit VerbundZellen nicht möglich. ;-)
Und bei den LaufzeitAngaben, die man hier und anderswo zu VBA-PgmZyklen findet, würde ich auch nicht sagen, dass das langsam wäre… :-]
Gruß, Luc :-?

Hier gehts um ein Formular für Anwender
13.03.2015 15:56:20
EtoPHG
Luc,
Und der Administrator/Anfrager sollte natürlich schon wissen was wo ist.
Was du mit den VBA-PgmZyklen meinst ist mir im vorliegenden Fall nicht klar.
Die paar Förmlchen in dieser Mappe lohnen sich sicher nicht um eine Frml vs VBA Diskussion vom Zaun zu brechen. Ich hab Klexy nur versucht klar zu machen, das a) Select 'böse' ist, weil überflüssig und b) Hilfspalten nicht immer 'böse' sind, weil oft sinnvoller und bei der Zerlegung von komplexen verschachtelten Formeln für den 'Leser' verständlicher. Aber sei's drum: De programmibus non disputandum est ;-)
Gruess Hansueli

Anzeige
Ja, meine Anmerkung war allgemeiner Natur! owT
13.03.2015 20:24:54
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige