Feuerstein Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 liebe leute,dieser thread ist von mir gedacht um fragen und hilfestellungen speziell zu macros einstellen zu können.ich hab da mal ne frage. von macros hab ich fast garkeine ahnung, schätze sie aber schon sehr. ich suche hier hilfestellung zu einem wahrscheinlich sehr simplen macro.ich habe mir ein tool geschrieben, mit dem ich online spielen oder alte permanenzen duchchecken kann, wobei das tool nur schritt für schritt, also coup für coup funktioniert. denn je nach erscheinung gebe ich verschiedene parameter ein.zum permanenzen checken kopiere ich mir in spalte "A" originalpermanenzen. in spalte "B" copiere ich mir schritt für schritt die formel"=A"[der selben zeile] wenn der nächste coup bearbeitet werden soll.nun hab ich schon macros um die datei zu leeren u.s.w.jetzt suche ich nach dem macro, welches durch einen klick [button] erkennt, wo in spalte "B" der letzte eingetragene coup steht. dann soll das macro eine zeile tiefer gehen [also wo das erste mal kein wert eingetragen ist] und diese zelle in "B" mit der formel [=AXX] (-mit der gleichen zeilennummer) ausfüllen.wie sage ich Mr macro "gehe in spalte "B" nach unten bis du die erste leere zelle hast?den rest weiß ich noch, dadurch wird der nächste coup eingetragen und es wird losgerechnet. ich möchte mir dadurch einen weiteren schritt mit meiner maus über den table ersparen können. denn es geht immer von links nach rechts und immer dahin wo ich grad nicht bin. ich will sozusagen wege sparen.viele grüße und dank vorraus, matthias s.
mathias Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 hallo matthias sich nehme makros wirklich nur für die Anlässe, bei denen ich nichts mehr mit Formeln machen kann oder irgentwelche Vergleiche, die mit Formeln zu monströs werden.Leider kann ich aber diese vielen Zell ein und Ausblendungssachen nicht, hatte ich bislang aber auch noch nicht gebraucht.Mit anfangs einfacher abfrage läßt sich Ergebnismüll auch so abfragen und mein Rechner hängt nicht in Schleifen und Wartestellungen.Private Sub CommandButton1_Click()For i = 1 To 1000If Cells(i, 2) = "" Then Cells(1, 1) = i: GoTo mark1Next imark1:End Subhier läuft er die B spalte runter und wenn er auf ein Leerfeld kommt schreibt er jetzt in A1 die Zeilennummer, die ich in der Variablen i drin stehen habe und beendet das Makro.Ich hoffe nicht das mich nu alle wieder steinigen, aber Makros mache ich wiegesagt nicht soo gerne.Tabelle: Tabelle1 ABC1104 2 15 3 bla 4 test 5 9 6 0 7 ---- 8 4 9 4 10 11 12 13 mfg
Chi Lu Jung Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 (bearbeitet) Hallo mathias,erst einmal ein Tipp von einem "Profi". Verwende NIE, NIEMALS ein GoTo. In Deinem Fall wäre ein "Exit For" oder sogar ein "Exit Sub" möglich Hallo matthias s.,Hier ein Makro zu Abfrage der letzten gefüllten Zeile und kopieren des entsprechenden Coups:Public Sub LetzteZeile() Dim newRow As Long With Application.ActiveSheet '.Cells(zeile, spalte 2=B) newRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1 'Coup aus Zelle A kopieren, ohne Formel, kopiert direkt die Zahl .Cells(newRow, 2).Value = .Cells(newRow, 1).Value 'alternativ mit Formel "=Axx", hierzu die vorhergehendes 'Zeile löschen und 'Kommentarzeichen "'" in der nachfolgenden Zeile 'entfernen '.Cells(newRow, 2).formula = "=A" & newRow End With End SubDieses Makro kannst du nun einem Button zuweisen. Besser ist vielleicht, dass Makro in einer benutzerdefinierten Symbolleiste zu hängen. Diese Symbolleiste kannst du dann frei in Excel positionieren.Zur Erstellung einer Symbolleiste und eines Menüpunktes folgende Schritte vornehmen:1) Menüpunkt "Ansicht -> Symbolleisten -> Anpassen" aufrufen2) Im Fenster "Anpassen" auf Seite "Symbolleisten" über Button "Neu" eine neue Symbolleiste "Tools" anlegen". 3) Die neue Leiste wird in Excel eingeblendet4) Nun die Seite "Befehle" im Fenster "Anpassen" anklicken5) Dort in der Liste "Kategorien" den Punkt "Makros" auswählen6) Nun in der Liste "Befehle" den Punkt "Menüelement anpassen" mit der Maus anklicken und mit gedrückter Maustaste auf die neue Symbolleiste "Tools" ziehen7) In der Symbolleiste "Tools" nun den neuen Menüpunkt mit rechter Maustaste anklicken8) Im nun erscheinenden Pop-Up Menü den letzten Punkt "Makro zuweisen" auswählen9) Jetzt dein Makro "LetzteZeile" auswählen 10) Noch einen Namen bzw. Symbol über das Pop-Up Menü auswählen und fertigViel Spaß damit bearbeitet Januar 26, 2004 von Chi Lu Jung
Drapondur Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 Hi,erstmal ein Hallo an alle, immerhin mein erster beitrag hier und gleich eine prblemstellung:ich tüftele zur zeit an einem problem, das, woe ich glaube, nur durch ein Makro zu lösen ist.ich möchte eine einfache gewinnprogression testen und such die günstigsten austiegsgrenzen, sowohl im gewinn wie im verlust.meine analysetabelle "leistet" im moment folgendes:auflistung aller einfachen chancen nach manque, passe, pair, impair, rouge, noir.das sieht dann etwa folgendemassen aus:nr. permanenz manque passe pair impair rouge passe1 15 1 0 0 ...2 12 1 0 1 ...3 27 0 1 0 ...4 11 1 1 0 usw....die einzelnen reihen für manque, passe, etc... werden automatisch in je eine tabelle für das spiel auf die jeweilige chance übertragen.auf diese reihen wird dann das satzsystem aufgesetzt:dieses system ist wie folgt geregelt:startsatz: 1 Stücksatz nach Gewinn: +1 Stücksatz nach verlust: 1 Stückalso ganz simpel...Die Tabelle wirft nun das saldo nach jedem coup aus, und diese werte gilt es nun zu analysieren:jetz suche ich eine möglichkeit, excel anzuweisen, nach bestimmten ausstiegskriterien zu suchen und die entsprechenden ergebnisse in einer eigenen tabelle untereinander aufzulisten.dies sollte für alle chancen glechzeitig passieren, und es sollte jeweils eine tabelle pro chance erstellt werden.ideal wäre es dann, wenn man auf einfache weise die ausstiegskriterien variiern kann.wer weiss rat?gruss,Drapondur
mathias Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 Hallo Chi Luich weiß das meine Programmiertechnik Holzhammermäßig reinhaut, aber ich bin nicht aller Formeln mächtig und versuche dann halt mit meinen Mitteln zu arbeiten.Das Goto kommt noch aus meiner Basiczeit, ---->>> Nostalgie hihibis bald Mathias
Chi Lu Jung Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 (bearbeitet) Hallo Drapondur,wenn du Excel 97 oder höher hast, kannst du mit meinen Roulette Tools deine Langzeitauswertungen vornehmen. Bitte die Tools downloaden.Die angehängte Excel-Datei kannst du dann als Vorlage für deine Langzeitauswertungen nehmen.Abbruchtest.zip bearbeitet Januar 26, 2004 von Chi Lu Jung
Chi Lu Jung Geschrieben Januar 26, 2004 Geschrieben Januar 26, 2004 Hallo mathias,auf jeden Fall Respekt für deine Lösung. Die war gar nicht so schlecht. Aber bei GoTo reagieren fast alle Programmierer allergisch, deshalb konnte ich mir den Hinweis nicht verkneifen
Feuerstein Geschrieben Januar 26, 2004 Autor Geschrieben Januar 26, 2004 hallo namensvetter und hallo chi!vielen dank für eure unterstützung. den tip mit GoTo finde ich garnicht so schlecht, zumal ich ebenso früher mit basic angefangen habe, und GoTo dann ja schnell mal auf der hand liegt. ich werde wohl später wissen warum nicht GoTo, wenn ich die macro-sprache etwas beherrschen werde.den tip mit der kleinen symbolleiste finde ich total gut, das ist die beste lösung. denn dort können weitere "knöpfe" platz finden und sie sind da wo ich sie grad brauche.besten dank euch matthias s.
Feuerstein Geschrieben Januar 27, 2004 Autor Geschrieben Januar 27, 2004 hallo namensvetter und hallo chi!ich habe mich jetzt einfach mal für die variante von Chi entschieden und sie in das macrofenster kopiert wo der alte copiercode stand [chi, verzeih mir diese billige methode das nicht mal selbst getippt zu haben] -es funzte sofort-dankeschööön. ich hab jetzt drei funktionierende macros (die anderen 2 sind aufgezeichnet und um die hälfte der befehle gekürzt weil doppeltgemoppelt- funzt trotzdem), wodurch ich in den fenstern schon ein bisschen sehen kann, viel ist es natürlich nicht aber es ist ja nur mein anfang.ich will jetzt noch das die zeile unterhalb des kopierens markiert wird damit mir das scrollen abgenommen ist. aber lasst mir bitte dieses experiment, dazu hab ich mir grad e-book von dirk abels "visual basic 6.0 lernen" geladen. und ziemlich am anfang steht gleich folgendes:Direktsprünge mit GoTo...um aber kompatibel zu bleiben wurden sogenannte altlasten mit in die neuere version übernommen.......es lässt sich immer eine programmierlösung finden, in welcher der befehl GoTo vermieden werden kann...also irgendwann wird der befehl einfach nicht mehr beinhaltet sein. da VB auf basic beruht dürfte ich es garnicht so schwer haben, meine ersten roulettesachen hatte ich ja in basic geschrieben, hab bestimmt noch ein paar hundert disketten.auf in neue welten matthias s.
Feuerstein Geschrieben Februar 6, 2004 Autor Geschrieben Februar 6, 2004 und ich habs trotzdem schwer....ich habs hinbekommen daß die letzte zeile markiert wird, aber nicht die zeile darunter (und in der stehen ja die setzanweisungen), also scrollt er damit eine zeile zu wenig.beim markieren der untersten zelle scrollt das ganze blatt auch um eine halbe höhe runter, und ich sehe zu oft zeilen weiter oben nicht mehr, in denen entscheidende daten stehen auf die ich warte.bitte helft mir den befehl/formel zu finden, der/die ich an das macro von Chi anhängen kann, und der/die das tabellenblatt um eine zeile nach unten scrollt.ich hab die scrollformel in der hilfe finden können, doch scheint da etwas mit Chi´s macro nicht übereinzustimmen (falsche klasse oÄ). so ging es mir auch mit allen anderen versuchen.grüße matthias s.
Chi Lu Jung Geschrieben Februar 6, 2004 Geschrieben Februar 6, 2004 Hallo matthias s.weiss zwar nicht ganz, was du willst. Aber ich habe dir mal eine Vorlage zum Testen und Experimentieren geschrieben:Public Sub LetzteZeile() Dim newRow As Long With Application.ActiveSheet '.Cells(zeile, spalte 2=B) newRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1 'Coup aus Zelle A kopieren, ohne Formel, kopiert direkt die Zahl .Cells(newRow, 2).Value = .Cells(newRow, 1).Value 'Die Zahl 15 stellt die Anzahl der letzten Zeilen dar, welche 'noch angezeigt werden sollen If newRow > 15 Then ActiveWindow.ScrollRow = newRow - 15 End If 'Letzte Zeile + 1 (Spalte B) zur aktiven Zelle machen .Cells(newRow + 1, 2).Activate End WithEnd Sub
Feuerstein Geschrieben Februar 6, 2004 Autor Geschrieben Februar 6, 2004 (bearbeitet) hallo Chi!da hab ich ja schon lange eine antwort von dir, -kurz nach der fragen bekommen. vom sinn her sieht das schon so aus wie das was ich suche. und wenn ich es richtig verstehe hast du mir gleich zwei möglichkeiten gegeben meine problemchen zu lösen.probier ich sofortedit 07.02.04 05:08 :hallo Chi,-ich hab´s eingepflanzt und es funzt nach wahl! du hast genau des pudels kern getroffen! für die arbeit mit mehreren bildschirmen die zweite wahl, und zu hause die erste wahl (das beispiel).durch das macro, welchen einen neuen coup eincopiert (meine erste anfrage) sparte ich mir "strg+c" sowie "strg+v", wobei dadurch das scrollen schon erledigt wurde wenn ich eine zelle tiefer "strg+v" eingab. durch das macro musste ich von hand runter scrollen. möglichst nur eine zeile, da der ganze bildschirm auch weiter oben mehrere veränderbare parameter hat.-umständlich-durch die zusätzlichen zeilen im macro hab ich jetzt ne erleichterung um 50%. das macht so viel mehr spaß. die weniger triviale befehlsfolge finde ich richtig klasse.den befehl Row kann ich jetzt erst besser verstehen und auch etwas mehr vom zeilenaufbau, -der grammatik. sowas steht vielleicht in einem von 10 büchern. drei hab ich ja mittlerweile, aber bin noch völlig am anfang.vielen dankl nochmal, hast mir sehr geholfen matthias s. bearbeitet Februar 7, 2004 von matthias s.
Blue_Dolphin1980 Geschrieben März 4, 2004 Geschrieben März 4, 2004 Hallo an alle Ich bin neu hier in der Gegend und finde das Forum echt Wenn jemand ein System programmiert haben möchte kann er sich bei mir melden. Ich bin gerade an einem Projekt von Tottermann dran. Das System setzte ich 1:1 in Visualbasic um. Und werde es dann zur Verfügung stellen.Aber das wichtigste Projekt für mich ist die 100:1 Strategie. Aber diese Strategie ist eine neuentwicklung von mir die noch nicht Fertig ist.Bis bald :wavey:
Greg Geschrieben März 4, 2004 Geschrieben März 4, 2004 @Blue_Dolphin1980Das Forum von Paroli ist auch Strategien werte ich überwiegend auch mit VB aus. Leider bisher immer mit demselben Ergebnis Gruß Greg
Blue_Dolphin1980 Geschrieben März 4, 2004 Geschrieben März 4, 2004 Hi Greg!!!Ich arbeite an einem System um 100€ zu verdoppeln und dann mit dem Geld der Bank weiter zu spielen Die Strategie die ich entwickel lautet 100:1 StrategieWenn Du möchtest kannst Du mit Deinen Ideen mitwirken.Ich lege großen Wert auf übersichtlichkeit des Programms und auf akustische Signale Mein Ziel sind es 1000€ gesamt zu gewinnen.Wichtig ist mit einem gutem system anzutreten
Tottermann Geschrieben März 5, 2004 Geschrieben März 5, 2004 @ Blue Dolphin:Ich wusste nicht, dass Du schon losgelegt hast.Bitte beachte unbedingt, dass sich die Regeln ein wenig geändert haben.Siehe hierzu die aktualisierten Regeln im entsprechenden Beitrag.Ich spreche bei den Regeln Intuitiv zu handhabenden Punkt. Sowas kannst Du sicher nicht programmieren, also für Dich bzw. Dein Programm die eigentlich int. Regeln als starre Reggeln:Ende des Gesamtangriffes bei einem Zwischensaldo von +50 Stücken. Dann wird wieder so begonnen als wäre es das erste Spiel.GrußTottermann
Tottermann Geschrieben März 11, 2004 Geschrieben März 11, 2004 Beim Surfen bin ich auf diese Formel gestoßen. Sie dürfte einen Roulette-Satz simulieren. Wo und wie kann ich die Formel eingeben? In Excel, in DOS oder wo und wie?Sub spielen()Columns("C:C").ClearContentsFor i = 2 To 50001 Cells(i, 1) = Int(Rnd * 37) + 1 Cells(i, 2) = Int(Rnd * 37) + 1If Cells(i, 1) = Cells(i, 2) Then Cells(i, 3) = "Ok" win = win + (Cells(1, 2) * 35)End IfNext ieinsatz = i * Cells(1, 2)MsgBox "Gewinnsumme " & win & " Spieleinsatz " & einsatzEnd Sub
Chi Lu Jung Geschrieben März 11, 2004 Geschrieben März 11, 2004 Hallo Tottermann,dies ist ein Makro, welches du folgendermassen eingeben kannst:In Excel über Menü "Extras -> Visual Basic Editor..." den VB Editor aufrufen. Dort über "Einfügen -> Modul" ein neues Modul anlegen. Dann erscheint ein Fenster "... Modul1 (Code). Dort den nachfolgenden Code einfügen.Sub spielen()Dim i, win, einsatz As IntegerColumns("C:C").ClearContentsFor i = 2 To 5000Cells(i, 1) = Int(Rnd * 37) + 1Cells(i, 2) = Int(Rnd * 37) + 1If Cells(i, 1) = Cells(i, 2) Then Cells(i, 3) = "Ok" win = win + (Cells(1, 2) * 36)End IfNext ieinsatz = (i - 1) * Cells(1, 2)MsgBox "Gewinnsumme " & win & " Spieleinsatz " & einsatz & vbNewLine & _ "Ertrag " & win - einsatzEnd SubJetzt kannst du in Excel über das Menü "Extras -> Makros" das Makro "spielen" auswählen und laufen lassen.Das Makro erzeugt Zufallszahle in Spalte A und B und vergleicht diese. Wenn gleich, zB. 24 in A und B, dann wird dies als Pleintreffer gewertet. Es werden 5000 Zufallszahlen erzeugt. Am Ende wird dann der Ertrag angezeigt.Habe das Makro ein wenig verbessert. Es wird ohne Tronc gerechnet. In Zelle "B1" wird die Stückgröße eingegeben also z.B. 1 für 1,- Euro.
Tottermann Geschrieben März 17, 2004 Geschrieben März 17, 2004 @ Chi Lu Jung:Ich möchte nun eine Schaltfläche einbauen, deren anklicken bewirkt, dass neu gespielt wird.Ist das mit wenig Aufwand möglich?Wenn ja, bist Du so nett und schreibst hier kopier- und einfügebereit, wie?Nur wenn´s nicht zu viel Aufwand ist.Danke!
Chi Lu Jung Geschrieben März 17, 2004 Geschrieben März 17, 2004 Hallo Tottermann,sorry für die späte Antwort. Also, du kannst dir ganz einfach einen Menüpunkt anlegen und diesem das Makro zuweisen. Wie genau das funktioniert, hatte ich unter diesem Link (Stichwort "Symbolleiste") schon ausführlich erklärt. Falls doch noch Fragen offen bleiben, melde dich einfach.
David Cooper Geschrieben April 9, 2004 Geschrieben April 9, 2004 Wie veknüpfe ich eine Schaltfläche mit einem Makro?Ich habe mit dem Aufzeichnungsgerät in MS Excel ein Makro erzeugt!Nun möchte ich eine Schaltfläche (aus den Steuerelementen) verknüpfen, wie gehe ich dabei vor??Danke im Voraus!David Cooper
Chi Lu Jung Geschrieben April 9, 2004 Geschrieben April 9, 2004 Hallo David,wenn du ein CommandButton aus den Steuerelement verwendet hast, dann gehe mit der Maus auf den Button, rechte Maustaste drücken und im PopUp-Menü den Menüpunkt "Code anzeigen" auswählen. Dann im erscheinenden VisualBasic Fenster dein Makro in der folgenden Form eintragenPrivate Sub CommandButton1_Click() Call MeinMakroEnd Sub
David Cooper Geschrieben April 9, 2004 Geschrieben April 9, 2004 Hi Chin,das funktioniert immer noch nicht (siehe Grafik - mein Makro heißt Endsaldo!)Mit Excel 5.0 ging das einfacher, da konnte automatisch das passende Makro ausgewählt werden (das konnte ich noch!) LGDavid
Wenke Geschrieben April 9, 2004 Geschrieben April 9, 2004 Hallo David CooperDamit es erst mal weiter geht.Du kannst dir das System 4-5-6 herunterladen.Bei Makros findest du eine gelbe Schaltfläsche. Gehe in die Zelle B1- mit der"Pfeil ab Taste" bis zur Zelle B3 gehen. Mit Strg+C kopieren.Öffne dein Arbeitsblatt, und füge die Schaltfläche mit "Strg+V" an der richtigen Stelle ein.Halte die "Strg-Taste" gedrückt und klicke mit der rechten Maustaste auf die gelbe Fläche. Ein Menü wird sichtbar.Suche die Schaltfläche Makro zuweisen, deine Makros erscheinen.Klicke einfach auf das Makro, das ausgeführt werden soll.Bei "Makroname" erscheint jetzt dein Makro. Nur noch auf "OK" klicken-fertig.Im obengenannten Menü kannst du mit Textverarbeitung die Inschrift bearbeiten.Na dann viel Spaß Wenke
Recommended Posts
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden