Jump to content
Roulette Forum

Wenke

Mitglieder
  • Gesamte Inhalte

    8.947
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Wenke

  1. Hallo Carlo Besten Dank für deine Rückmeldung . Wie du siehst haben bisher sich nur wenige zu Wort gemeldet. Besten Dank nochmals. Wenke der sich langsam auf Wochende vorbereitet.
  2. @Sweet Tanja mache ich gern! Was mir jetzt dazu einfällt: Alyettische Figuren sind einfache Folgen zwischen R und S ....................................(andere EC bilden diese auch solche Figuren) Einer Figuren R;S Zweier Figuren RR;RS;SR;SS Dreier Figuren RRR;RRS;RSR;RSS;SRR;SRS;SSR;SSS 4-er Figuren gibt es 16 verschiedene 5-er Figuren gibt es 32 verschiedene.....usw die Anzahl verdoppelt sich wenn die Länge um 1 erhöht wird. Wird die Permanenz entsprechend der Figurenläne gegittert, sind alle Figuren einer Art völlig gleichberechtig. Sie haben die gleiche Wahrscheinlichkeit um sich zu bilden. Bei 4-er 1/16 bei 5-er 1/32 usw. - Auf Grund der Gleichverteilung trift auch das "2/3"-Gesetz zu. - Sie können für die Satzauswahl genutzt werden, wenn der Satz zufällig erfolgen ...........erfolgen soll. - Man kann sich damit von der Perm "lösen" Lade dir einfach dieses Tool runter. Dann hast du keine Schwierigkeiten die Figuren zu bestimmen. Es war der falsche link: http://www.roulette-forum.de/index.php?showtopic=2044 Beste Grüße Wenke
  3. @Dutzendfreund Ja wenn DC mit Excel zu haut wirds meistens bitter. Gleichzeitig muss ich den anderen zu stimmen. Es ist gleich gültig ob du in jeden Coup oder jeden 4. Coup wechselst. Es wird das gleiche bringen wie vorher. Dein Spiel erinnert mich irgendwie an die Alyettischen 4-er Figuren. Davon gibt es 16 Stück. Die Trefferwahrscheinlichkeit für 1 Figur liegt bei 1/16. Da bist du nah am Cheval. Dort gilt straff das 2/3 Gesetz. Du könnste das 2/3 Gesetz mit den Vorteil von EC-Spiels (halber Zeroverlust) kombinieren. Ein Cheval würde einer Alyettischen Figur entsprechen. Damit kann auf "Cheval"-"Favoriten" gespielt werden. Auch hat es DC schwerer mit Excel zu hauen Beste Grüße Wenke
  4. Wer seine Schaltflächen etwas persönlicher gestalten will: Dem empfehle ich diesen Link: Auszug aus der Seite: Techinfo: Excel-Makros Schritt für Schritt erfassen Schritt für Schritt: So können Sie Makros auch ohne Programmierkenntnisse in Excel eingeben Das Teil kann hier gefangen werden: http://www.add-in-world.com/katalog/techinfo-makro/ Viele kostenlose Tools für Excel können ebenfalls geladen werden. Leider keine Rouletteprogramme. Man muss sich vorher registrieren lassen. Dafür erhält alle 14 Tage einen Excel „News -Letter“. Es ist für alle etwas dabei. Alle 14 Tage etwas Neues nicht schlecht. Das ist nicht so viel, daß man erschlagen wird, nicht zu wenig, daß man verhungert. Ich habe ihn ebenfalls abboniert. Den Spamverdacht schätze ich mit Null. Etwas Werbung für ihre Produkte sind im Letter. Für meine Begriffe ist das OK. Die Jungs und Mädels müssen leben um die Neuigkeiten unters Volk zu bringen. Beste Grüße Wenke
  5. @Revanchist Ein Platzer...... Damit habe ich folgendes gemeint: Alle Angriffe lassen als folgende "Per" schreiben: G,G,G....G,P,G...,G,P......usw schreiben. G bedeutet Angriff gewonnen P bedeutet Platzer Die Punkte da zwischen ebenfalls: Gewonnener Angriff Punke deshalb: Niemand weiß wieviel gewonnen Angriffe liegen vor einem Platzer. Die Anzahl der Platzer in dieser Folge ist vom Platzerrisko des Angriffs abhängig. Bsp Matingale über 11 gespielte Coups: Platzerrisko: 1:1024 (ohne Grün!) Auf 1 000 G's der Folge, kommt 1 P. Wo ist nicht vorhersagbar. Er kann sehr früh (Pos2 o.ä) oder sehr spät (Pos 3 000 o.ä) stehen. Für die Martingale ist das alles bekannt. Für eine Strategie mit noch unbekannter Platzerwahrscheinlichkeit, gilt das natürlich auch. Der 1. Platzer kann prinzipell: sehr früh, sehr spät, irgendwann erscheinen. Der erste Platzer enthält somit keine brauchbare Information. Aussagefägiger ist diese Untersuchung: Gewinne bis Platzer1...............ohne Wertung Platzer1 Gewinne1......................Ergebnis1:.............Platzer1+Gewinne1 Platzer2 Gewinne2......................Ergebnis2:.............Platzer2+Gewinne2 ... ... ... Platzer..1000 Gewinne1000.................Ergebnis1000:........Platzer1000+Gewinne1000 Aus dieser Folge läst sich schon etwas mehr abschätzen. Die Position des 1. Platzer ist viel zu sehr vom Zufall abhängig. .....Das kann auch der Grund für die Anfangserfolge von Systemen sein........ Ist das Platzerrisko für den Angriff sehr klein (1:1 000) sollten die ersten 50 bis 100 platzer mit den dazu gehörigen Gewinnen nicht bewertet werden. Das hängt damit zusammen: nach einigen Platzervorläufen kommt man in eine stabile "G-P"-Folge die für einem bestimmten Angiff typisch ist. Das ganze natürlich nur wenn die Unendlichkeit der Perm richtig ist. @DanDocPeppy Ich glaube nicht das ich die richtige Spielweise für dich habe. Deinen Postings entnehme ich das du ein vorsichtiger Mensch bist. Ein umschwenken könnte böse Folgen haben. Meine Spielweise hatte schon einmal ins Forum gepostet. Ich spiele eine aggressive Gewinnprogression, auf alle TS die mindestens viermal erschienen sind. Nach einen Gewinn werden alle Einsätze verdoppelt! Ein Angriff wird nicht beendet wenn das 1.kleine Plus vorhanden ist. Ein Angriff wird nach dem 1. Plus weitergespielt und verdoppelt, solange der Teilgewinn den Spieleinsatz ermöglicht. Angriffsende: Ist der Teilgewinn kleiner als der letzte Einsatz wird abgebrochen. Die neuen Einsätze sind immer Bankgeld und es bleibt selbst nach einem schlechten Coup noch etwas übrig. Glück brauche ich nicht unbedingt, nur kein.....das schreibe ich nicht.....! Das ist sehr Gewöhnungsbedürftig (freundlich! ausgedrückt). Der eine oder ander Tropfen an der Stirn ist nicht immer zu vermeiden. Wenn ich hin und wieder schreibe 1 000 Stücke in der Tonne, dann weiß ich auch wie sich das anfühlt. Wie gesagt ich spiele dieses Spiel. Beste Grüße Wenke
  6. Die Schonzeit ist zu Ende, es wird ernst, die Butter zu den Fischen. Üblicherweise hat man am zu Beginn nur eine leere Arbeitsmappe. Du musst dir abhängig vom geplanten Programm Gedanken machen: • Was soll in welche Spalte, das ist Abhängig von: • was soll das Programm erledigen, • was Programmiere ich, • was erstelle ich mit VBA Die Anordnung im Blatt „Monate“ ist soweit OK. Jede Monatspermanenz in einem Blatt ist sollten wir so lassen. aus dem ersten Posting: .....die Jahrespermanenz nach Monaten gegliedert, in einer Excelmappe stehen...... Überleg mal was passiert wenn: Am 5. Januar soll die Jahrespermanenz geholt werden. Das Programm holt das ganze Jahr! Schade um die viele Zeit. Das Programm muss zusätzlich eine Schaltfläche erhalten, die den Import einer Jahres-Permanenz und eine mit die monatsweise importiert. Alles andere wird aus der Mappe Monate übernommen. Am effektivsten wäre es: • alle Blätter komplett zu übernehmen • nur die Codemodule werden programmiert Hier lassen wir das Programm aus einer völlig leeren Mappe wachsen. Beim „erkunden einer Programmiersprache“ bringt diese vorgehensweise Vorteile. Damit steht für Blatt Januar der Ablauf fest: 1. (fast) alle Texteingaben aus der Mappe „Monate“ übernehmen 2. Eine Formel finden, die ermittelt ob ein Schaltjahr vorliegt. 3. die Formel eintragen 4. liegt ein Schaltjahr vor: das Programm verzweigen 5. Aus der Jahreszahl ein kopierfähiges Datum machen 6. zusätzliche Blatter einfügen, sie sollen den Monatsnamen tragen 7. Jede Arbeitsmappe soll den Namen des Permanenzjahres tragen. Gut wäre: „Per Ham Jahreszahl“ wie „Per Ham 2004 8. Button einbauen um das Makro mit der Maus auszulösen Das sieht gefährlich aus, viel Unbekanntes. Mal genauer hingucken: Punkt 1. Ein alter Hut Baustein 1 Punkt 2: die Lösung liegt irgendwo bei den Funktionen rum Punkt 3: Ein alter Hut Baustein 4 Punkt 4: muss irgendwas mit Schleifen sein Pauken Punkt 5: gerade erst gemacht, das Verketten Dings Punkt 6: schon gemacht, nur mit Recorder aufzeichnen Punkt 7: weiß nicht, brauche neuen Baustein Punkt 8: Sind im alten Programm da, rüberkopieren Das gucken hat sich gelohnt. Nur in den Punkten 4 und 7 liegt ein echtes Problem vor. Da wird was Neues gebraucht. Wenn man etwas braucht: Ebay? ......na, na! Eventuell sind Excelseiten die bessere Wahl, kost nix, einfach mal googln: Excel +VBA Es wird immer wieder vorkommen, dass du irgendwo nicht weiterkommst. Die Probleme atomisieren, hilft auch das nicht: Zuerst die anderen Punkte abarbeiten. Was beim Hausbau ein kleines Problem wäre, hier spielt es keine Rolle. Du kannst ohne weiteres: erst das Dach bauen im 2. Stock die Fenster einsetzen das Fundament setzen den Keller ausheben........ Die VBA — Module machen es möglich Klar ist die Eintragungen in Tabelle 1 werden vom Automakro erstellt. Ist doch schon fertig. grins Anfangen: • Kopiere die Arbeitsmappe, mit dem Automakro in den Ordner Hamburger Permanenzen. • Die Mappe erhält dort den neuen Namen: „Vorl Per Ham“ • Öffne die neue Mappe „Vorl Per Ham“ • Trage in die Zelle A2 „1“ für Tisch 1 ohne Gänsefüße • Trage in die Zelle B2 „2004“ ein......ein Schaltjahr sollte es schon sein. Arbeitsblätter umbenennen: Das erste Blatt soll nun seinen Namen „Start“ erhalten. Recorder an: Makroname: Blatt_umbenennen1 ein Doppelklick auf die Zunge des Arbeitsblattes Eingeben: Start Klick in Zelle A22.....sonst lässt sich der Recorder nicht ausschalten. Recorder aus Code guggen: Sheets ("Tabelle1").Select Sheets ("Tabelle1").Name = "Start" Range ("A22").Select Die erste und die letzte Zeile sind überflüssig. Jedes mal schleicht sich der Select rein—RAUS! Neu dazugekommen ist: Sheets ("Tabelle1").Name = "Start" Die Bedeutung lässt sich leicht erraten: • Verpasse dem vorangehenden Objekt • den Namen der hinter dem Gleichheitszeichen, zwischen den Gänsefüßen steht. Dem Mutigen gehört die Welt, wenn er gelegentliche Beulen akzeptiert. Was passiert eigentlich, wenn ich dort einen Bereich wie Range(„B2“)? Ausprobieren! Achtung Tabelle 1 gibt es nicht mehr. Ab ins Codefenster: Sub Blatt_umbenennen2 Sheets ("Tabelle2").Name = Range ("B2") End Sub gleich mit F8 testen: Alles OK das hätten wir. Gleich als Baustein 7 speichern: Nimm die zusätzlichen Varianten gleich noch mit. Sub Blatt_umbenennen: ‘Baustein 7 Sheets ("Tabelle1").Name = "Start" Sheets ("Tabelle2").Name = Range ("B2") ActiveSheet.Name = Range ("A3") Sheets(3).Name = Range("A3") End Sub In den beiden anderen ist ActiveSheet Bedeutung: Aktives Blatt Sheets(3) Bedeutung: drittes Blatt in der Mappe — Die Zahl immer eingeklammert In ein anderes Blatt wechseln: Gib dem ersten Blatt wieder den Blattnahmen Start zurück. Jetzt müssen wir ins Blatt 2 Wenn du mit den Tastenkombinationen noch nicht so geübt bist probiere die Tastenkombinationen im Excelblatt. Recorder an: Makroname: nächstes_Blatt Drücke auf die Strg Taste und dann auf die Bild ab Taste egal wo sich die Aktive Zelle befindet, eine „1“ eintragen Bild auf Taste Recorder aus Code guggen: ActiveSheet .Next .Select ActiveCell.FormulaR1C1 = "1" ActiveSheet .Previous .Select Auch hier sollte es keine Schwierigkeiten geben. ActiveSheet .Next .Select...............Bedeutung: Blatt hinter dem Aktiven Blatt auswählen ActiveSheet .Previous .Select..........Bedeutung: Blatt hinter dem Aktiven Blatt auswählen Select darf bleiben, ausnahmsweise Speichern als Baustein 8 Sub Blätter_auswählen: ‘Baustein 8 ActiveSheet.Next.Select ActiveSheet.Previous.Select End Sub Nach dem wir uns nun ein Blatt einwählen können, kann es mit dem Programmieren losgehen. Holen wir uns vorher noch eine Schaltfläche für das Makro. Nehmen wir die aus der Mappe „Fenster anordnen“: Stelle sicher, dass im Blatt „Vorl Per Ham“ das Blatt „Start“ aktiv ist • Öffne zusätzlich die Mappe „Fenster anordnen“ • Klicke in der Mappe „Fenster anordnen Tabelle 1, in die Zelle C16, • mit der Pfeil Ab—Taste nach C17 • der Bereich unter der Schaltfläche ist schwarz umrandet. • den ganzen Bereich mit Strg + C kopieren. • die Mappe Vorl Per Ham aktivieren. • in die Zelle E6 klicken und mit Strg +V einfügen Beide Mappen bleiben geöffnet. • Drücke auf Strg, mit der rechten Maustaste auf die gelbe Schaltfläche in der Mappe • Vorl Per Ham ein Menü erscheint: Bild: Makro zuweisen 1 in diesem Menü kannst du später die Beschriftung die Farbe und anderes ändern. probiere später einfach einiges aus. • nach dem Klick auf Makro zuweisen, erscheint dies Menü: Bild Makro zuweisen2 Alle offenen Arbeitsmappen abwählen und Diese Arbeitsmappe auswählen wähle das Makro nächstes_Blatt aus und auf OK. die Schaltfläche ist jetzt scharf. Du kannst die Mappe Fenster schließen. Dieses Vorgehen erscheint auf dem ersten Blick kompliziert. Das ist es aber nicht. Damit sind noch andere Vorteile verbunden: • du brauchst dir Überschaltflächen keine Gedanken mehr zu machen • hast du einmal eine, hast du immer eine. • ist in einer Arbeitsmappe eine scharfe Schaltfläche, muss sie nur an die richtige Stelle kopiert werden. • Die Beschriftung und Makrozuweisung sind mit einem Klick geändert. Erhol dich erstmal und mach später weiter. Weiter mit der Mappe Hamburg Die Bausteine sind in der persönlichen Arbeitsmappe gesichert. Wir sind immer noch in der Tabelle Start. Als nächstes müssen wir in die Tabelle2. Aber bitte per Makro, also ins Codefenster: Die Schaltfläche ist mit dem Makro „nächstes_Blatt“ verknüpft. • ändern wir erstmal den Makronamen in Vorl_Monate ()evtl., • müssen die Klammern entfernt und neu gesetzt werde. • Im Makrocode bleibt nur: „ActiveSheet.Next.Select“ • Alle anderen Makros löschen, • existieren in dieser Arbeitsmappe noch andere Module alle mit rechts Klick auf das Modul entfernen von Modul... exportieren Nein OK. • Pass bitte auf: !!!Die persönliche Arbeitsmappe nicht auswählen!!! • Die Arbeitsmappe schließen. Speichern :JA! Mit dem letzen punkt wird abgesichert das Excel bzw. VBA beim weiteren programmieren Neue Module anlegt. In das 1. Modul kommt ab jetzt nur noch der fertige Code für das Programm. Diesen Code solltest du im Einzelschritt Modus geprüft haben. Du weist schon, hinter jeder Ecke lauert eine Beule. Die anderen Module sind immer Löschkandidaten. Mappe auf: Überprüfen der Schaltfläche: Klick einfach drauf. Bist du im nächsten Blatt ist alles OK. Anmerkung: Ein Fehler kann nur entstehen wenn deine Schaltfläche nicht aktiviert ist. In diesem Fall gehe noch mal nach oben und die ganze Prozedur mit der Schaltfläche noch einmal durchlaufen. Im neuen Versuch setzte die Schaltfläche in die Zelle H6 ein. Hat alles geklappt schreiben wir jetzt den Code für Spalte A. Der Code wird gleich ins Makro Vorl_Monate geschrieben. Das sind die Baussteine 1 und 4: • Text und Zahlen eingeben • Formeln eingeben. • Notfalls nachsehen wies gemacht wird Das Modul sieht jetzt so aus: Vorl_Monate() ActiveSheet.Next.Select Range („A1“) = “Tag“ Range („A2“) =”Hamburg” Range (“A3”) =”Januar” Range (“A4”) =”=Start! B2” Range (“A5”) =”Tisch” Range (“A6”)=”=Start!A2” End Sub Die Schaltfläche testen. Der Code muss stimmen! Die Spalte A hätten wir. Es fehlt noch der Bereich B1 bis AF1. Klar könnten wir jetzt folgendes eingeben: Range(„B1“)=“1“ Range(„C1“)=“2“ .......... Range(„AF1“)=“31“ Der Code wird richtig lang. Wozu als Code eingeben, da wäre Excel schneller. Wie war das noch, Baustein 4, Formeln eingeben: Range("D1") = "=A1+D1" Damit wurde der Zelle ein Inhalt (eine Formel) zugewiesen. • Eine Zelle ist ein Objekt • Auch viele Zellen sind ebenfalls ein Objekt, wie beim Kopiermakro. OK, überlegen wir mal: Zelle B1 ist immer „1“ ändern wir die Formel: Range("D1") = "=B1+1"..............Jetzt wird zu D1 eins zugezählt, .................................................soll ab C1 gelten also Range(„C1“) =“=B1+1“ .................................................jetzt das neue Objekt in mühsamer Kleinarbeit .................................................von mir ausgezählt „C1:AF1“ also Range (C1:AF1)=“=B1+1“ ..................................................sollte hinhauen aber noch ..................................................voranstellen: Range(„B1“)=“1“ Auf ins Codefenster und ausprobieren gleich auf ganze gehen Paroli! das hängen wir dem Makro Vorl_Monate an: Range („B1“) = “1“ Range („C1:AF1“) = “=B1+1“ Das neue Makro sieht jetzt so aus: Vorl_Monate () ActiveSheet.Next.Select Range („A1“) = “Tag“ Range („A2“) =”Hamburg” Range (“A3”) =”Januar” Range (“A4”) =”=Start! B2” Range (“A5”) =”Tisch” Range (“A6”) =”=Start! A2” Range („B1“) = “1“ Range („C1:AF1“) = “=B1+1“ End Sub Sofort ausprobieren mit dem Klick auf die Schaltfläche. Der Code ist OK und sieht gleich manierlich aus. Das Speichern wir als Baustein: 9 Sub Formeln_in_einen_Bereich ‘Baustein 9 Range („B1“) = “1“ Range („C1:AF1“) = “B1+1“ End Sub Alles in allem sind wir wieder ein gutes Stück vorangekommen. Wir wollen doch nicht übertreiben.. Bitte daran denken: Nichts auswendig lernen. Es reicht wenn du Makros mehrmals aufzeichnest. Wenn es mal knapp wird hast du immer noch die Baussteine zum Nachschlagen. Die Bausteine und die heutigen Postings sind wie immer im Download. Bist du immer noch nicht satt: Schau dir das Verketten Dings noch mal an und überlege, wie man es ins Programm packt. Beste Grüße und viel Spaß beim Programmieren. Bis nächste Woche Wenke Woche_3.zip
  7. Klasse, das du dich soweit vorgekämpft hast. Die Auflösung: Der Code für die Zellen A1:B1: Texteingaben: sind Baustein 1 Sub A1_und_B2 Range („A1“) = „Tischnummer“ Range („B1“) = “Jahr“..........Das ist genauer als der alte Eintrag. End Sub Zelle B2, das war schon etwas schwieriger: In Zelle B2 hat der User eine Jahreszahl eingeben z.B.: „2004“ Das mit dem Umwandeln ist schon eine harte Nuss: Wenn du dieses Problem gelöst hast, Donnerwetter! Wenn nicht, Wenke ist schuld! Man bin ich am Montag ganz schön erschrocken. Ich hatte doch glatt übersehen, nach dem Verketten muss eine weitere Funktion genutzt werden. Noch dazu eine selten genutzte. Sonst hätte ich sie zumindest genannt. Irgendwas wird immer vergessen. Natürlich könnte man versuchen alles zu planen. Dann heißt es: Planst du noch, oder läuft es schon. Besser ist: Anfangen—Fehler, wie Zero hinnehmen—Berichtigen Was macht man eigentlich wenn man nicht weiter kommt? Die Fragen aller Fragen. Ganz einfach: Zerlege das Problem in kleinste Teile: Atomisieren: Damit lassen sich Probleme lösen! Bild: Das Problem zerlegen Jetzt hast du schon mal einen Plan, er liegt meistens auf der Hand. Fast alles geht auf Anhieb. Für den kleinen Rest gibt es meistens irgendeine Funktion. Du musst sie nur finden. Excel kennt sich am besten mit Excel aus, frag ihn doch! Geh in die Funktionen und stelle deine Fräge! Bild Eine Fräge Excel: Es werden dir einige Funktionen angeboten. Unten steht gleich noch was sie machen, wie man sie bedient. Danke das genügt sagte der Staatsanwalt. Na dann geht’s los. Zuerst alles im Excelblatt. In der Zelle C2 1. mit „Verketten“ wird der Jahreszahl „01.01.“ vorgeschaltet. Die Zelle B2 angeben! Formeln eingeben: ist Baustein 4 mit Trick A nun sieht’s schon nach Datum aus — ist aber kein’s — Eine Funktion suchen, die aus Text ein Datum macht. Die findest du nun leicht. Also Funktion „DataWert“ 2. In die Zelle D2 die Funktion DataWert ausführen. Formeln eingeben: ist Baustein 4 mit Trick A Bedienung: Nur C2 eingeben „D2“ steht: die Zahl 38353 Mit dieser Zahl zählt Excel die Tage seit 1900........oder so Recorder an 3. alle A’s entfernen 4. D2 nach B2 als Wert kopieren Werte kopieren: ist Baustein 6 ............................ein alter Hut 5. Der Zelle B2 als Datum formatieren Mit Format — Zelle — Datum: 6. Die Zellen C2 bis D2........Löschen Alles.........Oben mit dem Menü .............................Spuren verwischen........................... Recorder aus Der aufgezeichnete Code: Sub Lösung() ' Lösung Makro ' Makro am 16.11.2004 von a aufgezeichnet Range ("C1").Select ActiveCell.FormulaR1C1 = "=CONCATENATE (""01.01."", R [1] C [-1])" Range ("D1").Select ActiveCell.FormulaR1C1 = "=DATEVALUE (RC [-1])" Selection.Copy Range ("B2").Select Selection.PasteSpecial Paste: = xlPasteValues, Operation: =xlNone, SkipBlanks _ : = False, Transpose: =False Application.CutCopyMode = False Selection.NumberFormat = "m/d/yyyy" Range ("C1:D1").Select Selection.Clear End Sub Alles bei Selection.PasteSpecial ist........wie böhmische Dörfer? Dann sieh dir das Bild „Inhalte einfügen“ noch einmal an. Einen Teil wird dann klarer. In den Modulen liegt der Code drei Varianten. Probiere sie alle mit F8 aus. Dein Code wird zusätzliche Zeilen in der Art: Range („C2“).Select enthalten. Das ist hängt damit zusammen, wie du die Eingaben in die Zellen abgeschlossen hast. Ich habe alles in der Eingabeleiste abgeschlossen. Da tauchen diese Select nicht auf. Denk einfach: Es gibt nur ein Kriterium für guten Code! Wenn der CODE LÄUFT ist er gut! und nun noch Tabelle2 Das kann gleich im Codefenster erledigt werden. Einfach die Bausteine nutzen! Sub Tabelle2 Range („A1“) = “Tag“ Range („A2“) = „Hamburg“ Range (“A3”) = “Januar” Range (“A4”) = “=Start! C2” Range (“A5”) =”Tisch” Range (“A6”) =”=Start! A2” Range (“B1”) =”1.” Range (“C1”) =”2.” Range (“D1”) =”3,” Range (“AK2”) =”Start! B2“ End Sub Weil das ganze so schwierig war schenke ich dir gleich zwei neue Bausteine. Beide werden gleich beim Öffnen der Arbeitsmappe ausgeführt. Mit dem ersten werden die Zellen A1 und B2 geschrieben. Das 2. beantwortet die Frage: Wann wurde diese Arbeitsmappe zuletzt geöffnet. Das ist ganz praktisch. Es hilft beim Suchen der letzten Permanenz. Der Code steht in der Mappe mit Automakro in „Diese Arbeitsmappe“. Einfach mal rum klicken. Beste Grüße Wenke L_sung_Wo_2_.zip
  8. @ Baerliner Ich wünsch dir viele graue Haare ::!:: , tolle Einfälle ::!:: und viel Spaß beim programmieren. ::!:: Beste Grüße Wenke
  9. @Revanchist Caro Minus bleibt Minus. Da kann ich nichts basteln. Für das Potenial spricht der lange Spielverlauf, viele gewonnen Angriffe, bis zum 1. Platzer. Ein Platzer ist genau so viel Wert wie 1 Stück Gewinn im 1. Satz auf eine EC. Ich selbst spiele viel aggressiver als DanDocPeppy. Mit meinen Spiel versuche ich die einzig wirkliche Schwäche der Bank zu nutzen. Ich kann, wie fast jeder andere Spieler auch, nur wenig verlieren. Die Bank, kommt sie an eine ungünstige Permanenz, sehr viel. Deshalb steigere ich im Gewinn massiv und gebe mich nicht mit einem Stück pro Angriff zu frieden. Der Preis für mein Spiel ist natürlich, das mitgenommene Spiel ist wirkliches Spielgeld. Die sind halt weg, im Verlust. Der Vorteil: Mir reichen wenige gewonnen Angriffe, unter Umständen ein einziger Angriff, um alles zurück zu holen. Das ist aber nicht das Ziel für den Spielabend. Die Bank schützt sich und nicht uns, mit dem Maximum. Wenn man sich die Permanenzen ansieht, ist erkennbar, es nur gibt wenige Abschnitte in denen verloren wird. Das ist ihre einzige Schwäche. Diesen Abschnitten könnte ich auch bei "vernünftigen" Spiel nicht ausweichen. Alles ist natürlich sehr gewöhnungsbedürftig und nicht für jeden geeignet. Beste Grüße Wenke
  10. @ Baerliner Eine gute Idee, erstmal anfangen und dann weitersehen! Mit VB kannst du auch Mäuse bewegen. @D a n n y Ich hatte schon gedacht ich leide allein unter dieser Krankheit. Immer diese Ablenkungen! Ich vermute mal doch Beste Grüße Wenke
  11. @DanDocPeppy Echt schade habe alles mit großen Interesse verfolgt. Das Ding scheint aber doch ein gewisses Potential zu haben. Beste Grüße Wenke
  12. Mann Tottermann Echt stark Perm Hamburg ist OK. Aber gleich den 1. Coup? Da hat der schwarze Mann noch kalte Finger. Im Ernst den ersten Spielen traue ich nie. Es könnten gewisse Unregelmäßigkeiten vorhanden sein. Wie wärs mit dem 11. Coup? Der 211. wäre auch möglich- allerdings wer soll auszählen? Das will ich Dir nicht zumuten ! Vielleicht ist es auch möglich einen Dauerlauf zu starten. Gezählt werden die Platzer oder so! Weiß nicht! Vielleicht einen Monat Spielverbot wie in der Praxis? Mal sehen, was für Ideen reinschneien? Ein Einstieg wäre für jeden immer möglich. Dann würde ich ein wöchentliches Ergebniss_Update empfehlen. Es hält deinen Streß in erträglichen Grenzen. Beste Grüße Wenke
  13. @David Cooper Gesamt:alt........-4,86 %.......neu......-2,28% Die Richtung stimmt! Mittelwerte lügen immer: Ohne Bewirtung Es macht trotzallem Aua! Das war ein Tiefschlag! Und dann so unerwartet. Da hättest doch auch sagen können: "Das lässt sich nicht programmieren". Einen Monat später wäre dann die Erleuchtung eingeschlagen . Alle hätten was davon: Wir träumen noch etwas und wärst du wärst genial! Schade aus vorbei! Beste Grüße Wenke
  14. @Dutzendfreund @David Cooper Ganz so schnell würde ich das ganze noch nicht zu den Akten legen. In den Auswertungen sind sehr oft Negativergebnisse die jenseits von Gut und Böse liegen. Ein Verlust von 10 000 Stücken, hier Euros, wird doch kaum durchgespielt, wenn vorher diese Summe nicht gewonnen wurde. Dutzendfreund legt den Kapitalbedarf fast immer bei 1000 Euros fest. Wie sieht das Spiel mit fogender Konstellation aus: Spielende immer bei -1000......."wegen Mause tot" es darf bis 3500 Euros gesetzt werden, wenn voher so viel gewonnen wurde alle anderen Regeln bleiben Beste Grüße Wenke
  15. Baustelle Hamburgprogramm Üblicherweise müssten wir uns jetzt über die Anordnung der Zeilen und Spalten des Programms Gedanken machen. Machen wir auch. Dazu wird..... die beste Programmiermethode wo gibt............ .............genutzt: Abschreiben Situation: Der Nutzer darf nur in Zelle „A2“ die Tischnummer und in „B2“ die Jahreszahl eintragen! Usereingaben sind das ist der Supergau! Vermeide sie um jeden Preis. Alles andere soll mittels VBA erfolgen. Keine Tastenkombination vergeben. Nur die Module schreiben! Ablauf: Nimm die Mappe Monate und erstelle in einer Neuen Arbeitsmappe: in Tabelle1 • die Zellen „A2 bis B4“ in B2 soll nur die Jahreszahl eingeben werden • jeder Jahreszahl in B2 soll 01.01. vorangestellt werden..........Funktion Verketten in einer beliebigen Zelle • von der Formel nur den Wert kopieren • über Menü Format Zellen Formatieren diesen Wert in ein Datum umwandeln • in der Zelle B2 soll dann das Datum in der Form 01.01.Jahreszahl stehen in Tabelle 2 Der Nutzer soll keine Eingaben machen, wer weis was er einträgt. Zu hohes Risiko! grins • Die Einträge in den Zellen A1 bis A6 erstellen • wobei die Eingaben in A4 und A6 mit einer Formel übernommen werden • B1 bis D1 und AK1 erstellen • AK2 wird mit einer Formel aus Tabelle1 übernommen wird Die Formeln dürfen abgeschrieben werden, müssen aber als Modul vorliegen Alles muss mit VBA gemacht werden Alle notwendigen Schritte hast du heute kennen gelernt. Du hast es drauf! Na dann viel Spaß beim knobeln. Wenn du schon beim Knobeln bist bringe in Erfahrung: Kann man aus der Jahreszahl schließen, ob ein Schaltjahr vorliegt? Ich ruhe mich jetzt aus! Beste Grüße Wenke PS: Du musst deinen Makrocode nicht unbedingt optimieren. In deinen Makros ist nur eins wichtig: Läuft der Code. Alles andere ist erstmal nebensächlich. Die Übersichtlichkeit spricht dafür. Die Geschwindigkeit kaum. Schön mit optimiertem Code ist das Makro 2 Minuten schneller. Na und? Da gibt’s die Nachricht 2,23% vom Umsatz halt 2 Minuten später. Über das Vorzeichen diskutieren wir später Beste Grüße Wenke 2.Woche.zip
  16. Zellen kopieren Mist gebaut, die Zellen A1 bis B3 sind jetzt leer. Ich hätte doch kopieren sollen. grins. Markiere im Excelblatt die Zellen D1:F3 und Strg + C Oben im Excelblatt auf Bearbeiten auf Inhalte einfügen klicken. Wie beim Löschen. Dieses Dialogfeld erscheint: Bild Inhalte einfügen Merke dir einfach so ungefähr was eingefügt werden kann. Diese Optionen wirst du bald wieder sehen, in englischer Sprache. Kopieren wir, schreiben wir den 1. Code ohne Recorder. Klar das kriegst du hin. Unter das letzte „Formel Makro“ Sub Alles_Kopieren..................dann Enter Range(„D1:F3“). Das große Hilfefenster taucht wieder auf. Du kannst jetzt in Fenster nach unten scrollen. Suche dort den Begriff der fürs Kopieren zuständig ist. Oder gib nach dem Punkt co ein. Copy ist sofort sichtbar. Klicke drauf. Jetzt noch Destination mit dem Zielbereich anhängen. Der Code: Range ("D1:F3").Copy Destination :=Range ("A1") Klasse fertig. Die Copy Methode entspricht dem Alles unter Einfügen. Da Makro ist in Ordnung. Nur die Formel wird nicht immer gebraucht. Ab und an werden falsche Werte geliefert weil die Bezüge sich geändert haben. Dafür gibt es die Optionen im oberen Bild. Oft ist das nachteilig alles zu kopieren. Wir müssen an die anderen Optionen im obigen Bild rankommen. Erinnerst du dich noch an das „Ausschneiden Makro“. Dort tauchte der Begriff Paste auf. Damit kommt man in die Kopieroptionen. Unter das letzte Makro Sub Kopieren2 Range („D1:F3“).Copy Range („A1“). p eingeben. So’ ne Paste taucht auf, aber nur Spezial. Wenn die so arm sind, nehmen wir halt die. Drauf klicken und Leertaste. Da tauchen sie schon auf, die Optionen aus dem oberen Bild. Scroll sie einfach mal durch. Einige kommen dir bekannt vor. Genau, das Teil mit Values ist das Richtige. Deine Englischkenntnisse sind doch Klasse. Wehe es sagt wer was anders. Auf xlPasteValues klicken. Der vollständige Code: Range („D1:F3“).Copy Range („A1“).xlPasteValues Mit F5 ausprobieren. Das war’s für diese Woche. Im Modul 1 der neuen Arbeitsmappe sind die aufgezeichneten Makros zum Vergleich. Die Bausteine 1 bis 6 sind im Modul 2 der neuen Arbeitsmappe. Kopiere sie in deine persönliche Arbeitsmappe. Sie stehen dann immer zur Verfügung. Beim Löschen und Kopieren gab es mehre Möglichkeiten im Menü. Zeichne für diese Möglichkeiten die Makros auf. Danach straffe die Makros. Du musst nichts auswendig lernen, weil.......etwas........immer......hängen........bleibt.
  17. Formeln eingeben: Viel Neues hat sich auf dich gestürzt. Machen wir mal etwas Einfaches. Excel ohne Formeln hätte keinen Nutzen. VBA erlernen und die Formeln auslassen dito. Hauen wir rein. Klicke in die Zelle D1 Recorder an Makroname: Formeln eingeben und OK In der Zelle F1 sollen D2 und D3 addiert werden. Ich will Excel nicht überlasten. grins. Also in die Zelle „F1“: = D2+D3 eingeben. Enter Makrorecorder aus Der Code: Range("F1").Select ActiveCell.FormulaR1C1 = "=R[1]C[-2]+R[2]C[-2]" Range("F2").Select Das wirst du kaum wieder brauchen. Man kann es glatt vergessen, und im verständlichen Teil weiter machen. Die 1. und 3. Zeile sind Klar. In der 2. sieht es wüst aus. ActiveCell.FormulaR1C1= geht auch noch aber dann ....... nicht nervös werden....... Eine Formeleingabe ist erstmal nichts anderes als Text eingeben. Also = und den Text in Gänsefüße. Zur Formel gehört auch das Gleichheitszeichen. Da wären wir hier: ActiveCell.FormulaR1C1 = "= R[1] ...............von der aktiven Zelle eine Zeile (Row) nach unten C[-2] ..............von der aktiven Zelle 2 Spalten (Columns) nach links ...............nach rechts wäre...... C[2] als ist die Zelle D2 gemeint das + Zeichen sollte kein Problem sein. Da wären wir hier: ActiveCell.FormulaR1C1 = "=R[1]C[-2]+ R[2]C[-2] ....Zwei Zeilen runter 2 Spalten nach links ............also D3 Jetzt können wir übersetzen: =R[1]C[-2]+R[2]C[-2]" bedeutet: D2+D3. Nur Angeber! Hier weiter! Probieren wir mal das: =“=D2+D3“ Zelle F1 löschen Sub Formeln2 Enter: Range („F1“) =“=D2+D3“ eingeben und OK. Da ist der Bus gerade so noch durchgekommen. Jetzt nur noch alle Formeln ins englische übersetzten. Dann sind wir mit den Formeln fertig. Trick A Aber sicher doch: In der Zelle F1 steht das gute Stück welches übersetzt werden muss. Oben in der Formelzeile siehst du die Formel. klicke rein. Setze ein großes A dahinter. Bestätige mit Enter. Klar in der Zelle F1 gibt’s ne Fehleranzeige. Lass dich nicht aus der Ruhe bringen. Klicke in die Zelle F1 Makrorecorder an: Makroname: Formeln3 und OK Entferne das A wieder. Schön der alte Code ist wieder da. Wozu ist das gut? Probier doch einmal mal, mit laufendem Recorder, eine richtig lange Formel einzugeben Der Nutzen dieser Methode besteht darin, dass du alle Formeln im Excelblatt fertig stellen kannst. Ist alles OK, hänge das A oder einen anderen Buchstaben an. Wirf den Recorder an und entferne die As wieder. Du wirst keine Eingabe vergessen und bist sehr schnell fertig. Übriges das geht auch mit richtigen Texten.
  18. Zellen ausschneiden und Kopieren Für diese Aufgaben werden wir die Makros aufzeichnen und auf den Code straffen. Ich werde den aufgezeichneten Code wiedergeben und direkt darunter steht die Kurzform. Du bist ja jetzt Vollprofi, ich melde mich nur wenn es etwas Neues gibt. Kopieren und ausschneiden sind im Prinzip die gleichen Vorgänge. Beim Ausschneiden wird der Zellinhalt an eine andere Stelle verfrachtet. Die Ausgangszellen sind danach leer. Beim Kopieren bleibt der Zellinhalt der Herkunftszelle erhalten. Nach meiner glorreichen Löschaktion ist die Tabelle 1 wieder leer. Nichts zum Kopieren da. Es geht los: Makro Zahlen_und_Text ausführen. Klicke in die Zelle A5 Makrorecorder an: Makroname: Ausschneiden Makro speichern in: Diese Arbeitsmappe.....umstellen muss sein! Beschreibung: Zellinhalte ausschneiden Markiere den Bereich A1:B3, drücke auf die Tasten Strg + X Klicke in die Zelle D1, drücke auf die Tasten Strg + V Recorder aus: Der Code: Range ("A1:B3").Select Selection .Cut Range ("D1") .Select ActiveSheet .Paste Im Code kaum Neues. Die ersten beiden Zeilen wie im Löschmakro. Cut ist die Methode „Ausschneiden“. Wie gehabt, zusammenfassen. Range ("D1") .Select ist auch klar. Hinzugekommen ist „ActiveSheet .Paste“. Der Code bedeutet: Inhalt aus der Zwischenablage einfügen. Das konntest du im Codefenster beobachten. Zeile 3 und 4, auch zusammenfassen. Der neue Code wäre: Range ("A1:B3") .Cut Range ("D1") .ActiveSheet .Paste oder Range ("A1:B3") .Cut Range ("D1") .Paste Ausprobieren!! Egal welches Makro ausgeführt wird, eine Fehlermeldung mit ...........unterstützt diese Eigenschaft nicht........kracht dir auf den Bildschirm. Fehlermeldungen kann ich nicht leiden, also kein Bild. Du wirst sie sofort erkennen. Das Leben ist hart. Nach der Fehlermeldung auf Abbrechen. Die Methode „Cut“ braucht ein Objekt zum Einfügen Was kann man da machen? Alten Code stehen lassen und warten bis dir etwas Besseres einfällt oder in Netz einen besseren Code suchen. Hab ich schon mal gemacht. Schneide die Zellen D1:E3 wieder aus, füge sie in A1 wieder ein. Ohne Makro. Gib unter das letzte „Ausschneiden Makro“ Sub Ausschneiden2 ein und Enter. Das Gerüst wird geschrieben. In die nächste Zeile: Range („A1:B3). ein. Fehler Zeile geändert....Gänsefüße fehlen richtig ist: Range („A1:B3"). ..............................................Der Punkt gehört dazu. Bild: VBA Hilfe Im Codefenster wird Hilfe angeboten. Im aufgeklappten Fenster wird angezeigt was du mit dem Bereich A1:B3 machen kannst. Von vielen wirst du nicht wissen was es bedeutet. Hier hilft probieren. Schreibe weiter cu. Jetzt erkennst du auch das Cut. Der „Radiergummi“ davor besagt Cut ist eine Methode, die du auf das Objekt A1:B3 anwenden kannst. Klicke mit der Maus auf Cut. Betätige die Leertaste. Ein Schriftfeld wird eingeblendet. Schreibe einfach „Destination“ ab und gibt danach „:= „ ohne Gänsefüße ein. Mit „:=“ wird VBA gesagt wie die Methode Cut angewendet werden soll. Bestätige mit Enter. Eine Fehlermeldung saust aufs Tableau. VBA teilt dir in seiner schier grenzenlosen Güte mit: Gut ich schneide die Zellen A1:B3 aus. Wenn du mir sagst wo die Zellen hinkommen, könnte ich sogar damit anfangen. Da wollen wir ihm nicht im Wege stehen und sagen Range („D1“) Die Codezeile sieht dann so aus: Range („A1:B3).Cut Destination:= Range(„D1“) Fehler Zeile geändert....Gänsefüße fehlen richtig ist: Range („A1:B3").Cut Destination:= Range(„D1“) Testen! Lösche das erste Ausschneide-Makro Das war der dritte Streich, der nächste folgt so gleich.
  19. Zellinhalte löschen Trample nicht mit den Füßen, ich mach doch schon weiter. Empfehlung: Erst das komplette Posting lesen, dann Beginnen Die Eingaben waren alle falsch. Irrtum vom Amt. Der Zellinhalt von A3 bis B1 muss komplett gelöscht werden. Die Entf — Taste löscht nicht den gesamten Zellinhalt. Formatierungen z.B. werden damit nicht gelöscht. Wir müssen einen anderen Weg gehen. Mappe 1 öffnen Klicke in die Zelle C3 Makrorecorder an Makroname: Zellinhalt_Löschen Makro speichern in: Persönliche Arbeitsmappe Bei „Makro speichern in“ ist ein kleines Dreieck. Darauf klicken. Dort werden verschiedene Möglichkeiten zum Speichern der Makros angeboten. Mit der Auswahl „Persönliche Arbeitsmappe“ stehen die Makros allen Arbeitsmappen zur Verfügung. Damit kann man sich ein persönliches Nachschlagewerk schaffen. Beschreibung: Alles löschen Bild: Speicherorte Zellen B1 bis A3 markieren...........................blöde Schreibweise, ich weiß Gehe im Excelblatt oben zu Bearbeiten — Löschen Bild Löschoptionen Klicke auf Alles. Recorder aus Wie du gesehen hast, bietet das 4 Löschmöglichkeiten an. Was gelöscht wird ist selbsterklärend. Zeichne später den Code auch für diese Löschoptionen auf. Du musst ihn dir den Code nicht merken. Etwas bleibt immer hängen. Im Codefenster wird oft eine Hilfestellungen angeboten. Hast du verschiedene Bergriffe schon gesehen, lässt sich die Hilfe besser nutzen. Wo ist der Code? Bild: Persönliche Arbeitsmappe Im Projektexplorer ist die persönliche Arbeitsmappe mit dem Modul 1 hinzugekommen. Der Code: Range ("A1:B3").Select Selection .Clear Was neu ist: 1. Zeile......nur der Doppelpunkt bei A1:B3 ............zusammen hängende Bereiche werden mit einem Doppelpunkt zusammengefasst. Selection . Clear ......................................Clear war die Löschaktion Mit dem Markieren haben wir ein Objekt erzeugt. Das Objekt hat Namen „Selection“ erhalten. Mit diesem Namen kann es angesprochen werden. Hier bedeutet der Code: „ausgewählten Bereich“ mit der Methode „Clear“ behandeln. Hä? Du arbeitest die ganze Zeit schon mit Objekten. Nur gemerkt hast du es noch nicht. Das lief alles hinter deinem Rücken ab. Oberfies so was! Objekte sind alles was du auf den Bildschirm sehen kannst. Das können die Arbeitsmappe, die Zellen der Arbeitsmappe, der ausgewählte Bereich, die Schrift in der Zelle sein. Alle Objekte haben Eigenschaften wie: Namen, Größe, Farben, Wert, Position, Schrift Die Eigenschaften können mit Methoden geändert werden. Das alles klingt für dich wie böhmische Dörfer. Das ist mir nicht anders gegangen. Merke dir erstmal nur, dass es solche Dinge wie Objekte, Eigenschaften und Methoden gibt. Eine allgemeine Regel für die Anwendung von Objekten und Methoden mit denen die Eigenschaften geändert werden: Name des Objektes gefolgt von einen Punk und der Methode. Lass dich nicht mit Fakten verwirren. Der Recorder zeichnet doch alles auf. Er hält diese Dinge erstmal für uns auseinander. Nach dem 20. Makro ist dir alles klar. Den Code straffen: Das Löschmakro sollte noch gestrafft werden. Auf das Objekt „Selection“ wurde die Methode „Clear“ angewendet. („A1:B3“) ist ebenfalls ein Objekt. Auch diesem Objekt kann auch die Methode „Clear“ verabreicht werden! Der Code dafür: Range(„A1:B3“).Clear Dazu führe das Makro Zahlen_und_Text noch mal aus. Es muss doch was zum Löschen vorhanden sein. Klicke unter das letzte Makro und gib die neue Zeile ein. Sub Zellinhalte_Löschen und Enter. .............Das „e“ bei Zellinhalte muss sein, damit die Makros unterschieden werden können. danach Range(„A1:B3“).Clear Mit F5 abchecken. Alles i.O? Dann hast du den 2. universellen Baustein. Wenn du etwas löschen willst, nur die Zelladressen löschen. Bevor wir es vergessen Lösche das erste Löschmakro. Etwas Übersicht ist viel Wert.
  20. Code optimieren Schön das Makro wird korrekt ausgeführt. Drei Aktionen um eine Zelle zufüllen, das dauert. Das wird verboten! Dazu müssen wir erst wissen, wie der Code funktioniert. Da hilft nur Makros bauen. Schreiben wir also das zweite Makro: Jetzt sollen Zahlen eingeben werden Zelle A2 bleibt im Excelblatt aktiviert Makrorecorder an: Im Dialogfeld „Makro aufzeichnen“ nichts eintragen nur mit OK bestätigen In Zelle A2 „1“.......ohne Gänsefüße eintragen Sieh in das Codefenster : Der Code für diese Aktion wird sofort geschrieben. Du musst nicht erraten: „Was bewirkt diese Codezeile“. Enter auf der Tastatur. Das pingelige und mühsame einrichten in der 1.Woche hat sich nun gelohnt. Makrorecorder aus Hinweis: Das Excelblatt wurde wegen...............„Verschnaufens“ geschlossen. Dann wurde ein neues Modul angelegt, du kannst die Entstehung des Codes nicht sehen. Lösung: Einfach das Makro noch einmal aufzeichnen, an den Makronamen eine Zahl anhängen. Sonst kommt das Modul durcheinander. Der Code: ActiveCell.FormulaR1C1 = "1" Range("A3").Select Es ist praktisch der gleiche Code wie im ersten Makro. Nur zwei Zeilen! Man muss nicht in eine Zelle springen, dann diese aktivieren und danach den Inhalt schreiben. Wenn wir jetzt noch ActiveCell durch Range A3 ersetzen? Zelle A2 löschen und mit F5 das Makro starten. Makro läuft Kombinieren wir doch den Code wie oben gesagt. Programmier doch mal richtig. - alle Select werden entfernt - statt „ActiveCell.FormulaR1C1“ wird nur die Zelladresse geschrieben. Der neue Code: Range("A2")=1 gleich mit F5 testen. Jetzt noch beide Makros zusammen fassen: Klicke im Codefenster unter das letzte Makro: Schreibe Sub und nach einen Leerschritt: Zahlen_und_Text mit Enter bestätigen. Die Makrohülle wird geschrieben. In der neuen Zeile gib diesen Code ein: Range („A1“) = “Gewinn 1“ Range („A2“) = “1“ Range („A3“) = “10“ Range ("B1") =”Gewinn 2” ……………………………………nach den Gänsefüßen Enter und Aus die Maus. Hinweis: Nach der 1. Klammer wird dir eine Hilfe angeboten. Ist doch nett. Die Hilfe zeigt wie Bereiche eingeben werden. Schreibe einfach weiter. Das eigene Makro ausprobieren: Klicke vor Sub des neuen Makros F5........................anpeilen.......Excelblatt beobachten........und Schuss Ohne Select zieht das Makro schneller als sein Schatten. Jetzt hast du den ersten universellen Baustein. Damit kannst du Überschriften und Zahlen eingeben. Du musst nur die Zellenadressen ändern. Du bist immer noch da? Mein Gott du bist ein harter Brocken. Ich werd dich schon erschrecken. Mach mal Pause.
  21. Nach dieser Schinderei bist du noch dabei? Du bist hart im Nehmen. Nicht vergessen: Der Text ist nicht dein Feind, je mehr Text desto leicht. Das nutze ich auch gleich schamlos aus. Viel Text — Wenig Arbeit Das ist erledigt: Excelmappe und VBA Editor, beide sind auf dem Desktop sichtbar! Was wir heute machen: Die häufigsten Arbeiten im Excelblatt mittels VBA erledigen!! Häufige Aufgaben im Excelblatt sind: 1. Text oder Zahlen eine Zelle eingeben 2. Zellinhalt löschen 3. Formeln in eine Zelle eingeben 4. Zellen kopieren 5. Zellen ausschneiden 6. neue Zellen einfügen Das dürften so etwa 50% aller Aufgaben sein Für diese Aufgaben erstellen wir jetzt die Makros. Nicht nervös werden es ist ganz einfach. Anmerkung: Makrorecorder an: bedeutet immer „in der VB-Leiste anschalten“ Aufzeichnung beenden: bedeutet immer „in der VB-Leiste ausschalten“ es ist immer der gleiche Schalter Es geht los: Öffne eine leere Arbeitsmappe. Richte deinen Bildschirm so wie in Bild 8 ein. Ganz wichtig: Der Editor und das Excelblatt sind sichtbar. Dieses Makro werden wir noch einmal ausführlich besprechen. Das gibt noch mal viel Text. Das erste Makro: 1.Klicke in der Excelmappe in die Zelle „C5“ 2.Makrorecorder an ....... unten! im Blatt Das Dialogfeld „Makro aufzeichnen“ erscheint: Bild Dialogfeld Makroname: Text_oder_Zahl_eingeben Im Makronamen dürfen keine Leerfelder enthalten, und müssen mit einem Buchstaben beginnen. Dieser Name wäre auch möglich: TextOderZahlEingeben. Üblich ist die obere Schreibweise. Tastenkombination: Strg +Umschalt +K die Umschalttaste ist direkt über der Strg Taste Eine böse Falle: Es ist üblich, Makros in Verbindung mit der Umschalttaste zu starten. Würdest du z.B. die Kombination Strg + C wählen, dann überschreibst du diese Tastenkombination. Später würde dann mit Strg + C nicht mehr kopiert sondern dein Makro ausgeführt werden. Makro speichern in: Diese Arbeitsmappe Beschreibung: Eingabe von Texten und Zahlen Eine Minisymbolleiste erscheint. Nicht beachten. Wir brauchen sie erst später. Mit OK bestätigen. Bild: Minileiste Schreibe in die Zelle A1: „Gewinn 1“ .....ohne Gänsefüße bestätige mit „Enter“ auf der Tastatur. Aufzeichnung beenden ....... unten! im Blatt Schau? n wir mal, was wir angerichtet haben. Keine Ausreden! Im Modul 1 des Editors ist alles protokolliert. Einfach darauf klicken. Das Codefenster mit dem Makro erscheint. Das Modul 1 wurde von VBA angelegt. Immer wenn die Mappe geschlossen wurde, gibt es ein neues Modul. Wird die Mappe nicht geschlossen, erfolgt die Makroaufzeichnung im zuletzt angelegten Modul. Bild: Code 1. Makro: Was auf den ersten Blick auffällt: Blaue Schrift: Das sind vorbelegte VBA Schlüsselworte, braucht man sich nicht zu merken, .................................geht ja automatisch. Grüne Schrift: Das sind Kommentare. Also kein Code. Die grünen Zeilen werden von VBA ignoriert. Kommentare werden mit einen Hochkomma eingeleitet. Schwarze Schrift: Der Makrocode, das Programm. Rote Schrift: In roter Schrift wird die Codezeile gesetzt die einen Programmfehler enthält. .......................................................... Keine da. Die erste Zeile ist gemischt. Blau und Schwarz. In schwarz wurde der Makroname geschrieben. Der Name ist ein ausführbarer Code! Den Makronamen kann durch Löschen geändert werden. Dann wird an dieser Stelle der neue Namen eingeben und mit ( ) und Enter abgeschlossen. Überschreiben ist ebenfalls möglich, dann musst du die Klammern auch überschreiben. Der eigentliche Code ist schwarz. Range("A1").Select ActiveCell.FormulaR1C1 = "Gewinn1" Range("A2").Select Range("A1").Select......Zelle A1 auswählen,.......A1 wird zur aktiven Zelle ActiveCell.FormulaR1C1 = "Gewinn1"..........In die aktive Zelle Gewinn1 eintragen Range("A2").Select................Zelle A2 auswählen 1. Zeile Es ist wichtig A1 in Gänsefüße zu setzten. Das ist der Zellenname, mit diesem kann die Zelle angesprochen werden. 2. Zeile hier fällt auf, dass die Aktive Zelle ihren Wert mittels Gleichheitszeichen erhält. Der Wert wird in Gänsefüße gesetzt. Das müsste auch mit Range(„A1“) gehen?! wird noch untersucht. FormulaR1C1 kann weggelassen werden. 3. Zeile Range("A2").Select macht nur Sinn, wenn als nächstes die Zelle A2 bearbeitet werden soll. Makros ausführen Du musst die Makros testen. Es gibt mindestens 5 Möglichkeiten ein Makro zu starten: 1. mit der festgelegten Tastenkombination 2. im Editor mit der Taste F8, der Einzelschrittmodus 3. im Editor mit der Taste F5, das ganze Makro starten 4. mit einem Makro 5. mit einer Schaltfläche Die ersten drei Möglichkeiten probieren wir jetzt aus: 1. Start mit der festgelegten Tastenkombination: Strg +Umschalt +K Das ist relativ schwierig. Lösche die Zelle A1, klicke in die Zelle D1 Drücke auf Strg + Umschalt + K Es hat geklappt: Ruck zuck steht Gewinn1 in der Zelle A1. 2. Einzelschrittmodus: mit der Taste F8 Im Einzelschrittmodus können wir rauskriegen, was nicht so toll war Lösche im Excelblatt die die Zelle A1, klicke in die Zelle C5 — mal was anderes. klicke im Codefenster vor Sub in der ersten Zeile des Makros Betätige die Taste F8 die 1. Zeile wird gelb unterlegt Gelb unterlegt bedeutet: wenn du wieder auf F8 drückst führe ich diese Codezeile aus ...........................................so soll es sein, also: F8 die erste Codezeile wird gelb, wie an der Ampel .............................peile F8 an und schau ins Excelblatt .......OK F8 der schwarze Rahmen von C5 springt in die Zelle A1, wie geplant wird A1 zur aktiven Zelle F8........................anpeilen.......Weiterbeobachten........und Schuss in die Zelle A1 wird Gewinn1 geschrieben F8........................anpeilen.......Weiterbeobachten........und Schuss die Zelle A2 wird zur aktiven Zelle F8........................anpeilen.......Weiterbeobachten........und Schuss das Makro wird beendet. 3. Gesamtausführung: mit der Taste F5 Lösche im Excelblatt die die Zelle A1, klicke in die Zelle C5 F5........................anpeilen.......Excelblatt beobachten........und Schuss mit affenartiger Geschwindigkeit wurde in A1 „Gewinn1“ geschrieben und die Zelle A2 aktiviert. Die anderen Möglichkeiten zeige ich später.
×
×
  • Neu erstellen...