Angenommen in Zelle A1 steht Name,Vorname durch Komma getrennt. Dann schreibst du in Zelle B1

=TEIL(A1;1;FINDEN(",";A1)-1)

und in Zelle C1

=TEIL(A1;FINDEN(",";A1)+1;LÄNGE(A1))

Hast du ein anderes Trennzeichen, z.B. nur das Leerzeichen, dann statt "," jetzt " ".

Die Formeln in Spalte B und C dann mit drag and drop in die anderen Zeilen passend übertragen.

...zur Antwort

Die Funktion lautet:

=C16/(ZÄHLENWENN(I:I;">=0")+ZÄHLENWENN(I:I;"<0"))

Wenn du nur positive Zahlen verarbeitest, kann der 2. Zählenwenn-Befehl wegfallen. Mit diesem Befehl wird ein Text, der irgendwo in Spalte I auftaucht, wie eine leere Zelle behandelt.

...zur Antwort

Eine elegante Lösung in EXCEL ist die Verwendung einer Userform, in die man mit der Werkzeugleiste "Steuerelement-Toolbox" eine Maske mit allen Datensatzelementen konstruiert. Über eine Listbox bekommt man eine Referenz zum Tabellenblatt, das nur noch unsichtbar im Hintergrund wie eine Datei bei Access arbeitet. Beim Anklicken eines Datensatzes in der Listbox (dieser kann dort verkürzt nur mit Kundennummer und Namen erscheinen) wird dieser in die Maske geschrieben und kann dort bearbeitet werden. Auch eine Neuaufnahme ist so möglich. Über entsprechende Befehlsschaltflächen lassen sich dann die neu gewonnen Daten im Tabellenblatt abspeichern. Der User muss dann von Excel nichts mehr verstehen. Die Erstellung der Userform und die Programmierung des Codes für die gewünschten Ereignisse erfordert natürlich tiefer gehende Kenntnisse vor allem bei VBA.

...zur Antwort

Wie RBMannheim schon richtig bemerkt, geht das relativ unproblermatisch in Excel, wenn man sich mit VBA auskennt. Ich gehe davon aus, dass in irgendeiner Spalte der Datenbank ein Datum steht, auf das sich die Danksagung beziehen kann (z.B. 4 Wochen später als dieses Datum). Dann würde ich in die Ereignis-Prozedur WorkbookOpen, die im Codeblatt "Diese Arbeitsmappe" stehen muss,einen VBA-Code programmieren, der sämtliche Adressen der Datenbank mit einer Schleife durchläuft, zu dem o.g. Datum 4 Wochen addiert und mit dem Heute-Datum vergleicht. Bei Erfolg werden in ein Extra-Tabellenblatt "Danksagungen" diese Adressen zeilenweise geschrieben. Zuletzt ruft der Code dieses Tabellenblatt als das aktuelle auf. Da die Prozedur WorkbookOpen automatisch bei Öffnung der Datei ausgeführt wird, erscheint als erstes dieses Tabellenblatt mit den aktuellen Danksagungsadressen. Damit sie beim nächsten Mal nicht immer noch da stehen, sollte man am Anfang des VBA-Codes mit einem ClearContents-Befehl die Inhalte des Registers "Danksagungen" löschen, bevor die neuen Adresen eingetragen werden. Viel Erfolg!

...zur Antwort

Du musst im Code-Teil deiner Exceldatei (Aufruf mit ALT 11) im Codeblatt "Diese Arbeitsmappe" die Ereignisprozedur

Private Sub Workbook_Open () ....... End Sub

schreiben (für jeden Befehl eine neue Zeile). Da, wo die Punkte stehen, entweder den Namen deiner Sub (jedes Makro hat einen Namen) eintragen oder besser noch den Inhalt des auszuführeneden Makros ohne Titelzeile und ohne Endzeile "End Sub" hierhin kopieren (dann gibt es keine Verweisschwierigkeiten). Beim Öffnen der Arbeitsmappe wird dann automatisch zuerst die Sub Workbook_open mit all ihren Befehlen ausgeführt. Du könntest auch noch weitere VBA-Befehle dazuschreiben; z.B. Application.DisplayFullScreen = True, um sofort einen ganzen Bildschirm zu bekommen. Viel Erfolg!

...zur Antwort

Hallo Dragqueen, das Problem ist vom Prinzip her im Tabellenblatt mit 2 Spalten sehr einfach zu lösen. Ich würde dann in der Userform eine Listbox aufziehen und im Eigenschaftenfenster dieser Listbox unter Rowsource auf diese Spalten verweisen. Die Weiterverarbeitung in der Userform könnte dann mit einer Ereignisprozedur "Listbox1_Click" erfolgen, die beim Anklicken eines Listenelements entsprechende Befehle (z.B. zum Belegen einer Maske) ausführt. Zurück zum Tabellenblatt: Schreib doch einfach in A1 das erste Datum deines Kalenders, bei dem auch der 6-er Takt des Dienstplans beginnt und zieh dann mit drag and drop die Spalte A so weit voll wie du willst. Excel schreibt dir dann den Kalender mit allen Abweichungen richtig hin. Dann schreibst du in die Zellen B1 bis B6 den 6-er Takt eures Dienstplans (z.B. Tag|Nacht|Tag| Nacht|frei|frei), markierst diesen Bereich und ziehst ihn mit drag and drop die Spalte B entlang. Er wiederholt sich dann entsprechend oft. In jeder Zeile steht jetzt ein passendes Pärchen (Datum|Planwert). Das Ganze dauert eine Minute. Viel Spaß dabei.

...zur Antwort

Wenn ich deinen etwas verworrenen Text richtig verstanden habe, gibst du in B3 eine Zahl ein und in A5 einen Prozentwert (A5 vorher auf Prozent formatieren). Dann soll in A31 der Auffüllwert zu 100% erscheinen und in A14 und A40? soll der Betrag von B3 entsprechend der Prozentwerte aufgesaplten werden. Richtig?

Lösung: 1.) A31 auf Prozent formatieren 2.) in A31 die Formel = 100 - A5 eingeben 3.) in A14 die Formel = B3 * A5 eingeben 4.) in A40 die Formel = B3 * A31 eingeben

Wo ist da das Problem?

...zur Antwort