Jump to content

Recommended Posts

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. :wink:

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo matthias s

ich 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 1000

If Cells(i, 2) = "" Then Cells(1, 1) = i: GoTo mark1

Next i

mark1:

End Sub

hier 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

 
A
B
C
1
10
4
 
2
 
15
 
3
 
bla
 
4
 
test
 
5
 
9
 
6
 
0
 
7
 
----
 
8
 
4
 
9
 
4
 
10
 
 
 
11
 
 
 
12
 
 
 
13
 
 
 

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :wink:

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 Sub

Dieses 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" aufrufen

2) Im Fenster "Anpassen" auf Seite "Symbolleisten" über Button "Neu" eine neue Symbolleiste "Tools" anlegen".

3) Die neue Leiste wird in Excel eingeblendet

4) Nun die Seite "Befehle" im Fenster "Anpassen" anklicken

5) Dort in der Liste "Kategorien" den Punkt "Makros" auswählen

6) Nun in der Liste "Befehle" den Punkt "Menüelement anpassen" mit der Maus anklicken und mit gedrückter Maustaste auf die neue Symbolleiste "Tools" ziehen

7) In der Symbolleiste "Tools" nun den neuen Menüpunkt mit rechter Maustaste anklicken

8) Im nun erscheinenden Pop-Up Menü den letzten Punkt "Makro zuweisen" auswählen

9) Jetzt dein Makro "LetzteZeile" auswählen

10) Noch einen Namen bzw. Symbol über das Pop-Up Menü auswählen und fertig

Viel Spaß damit :wink:

bearbeitet von Chi Lu Jung
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 passe

1 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ück

satz nach Gewinn: +1 Stück

satz nach verlust: 1 Stück

also 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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 With

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 sofort

edit 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. :topp::topp::smoke:

bearbeitet von matthias s.
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 weeks later...

Hallo an alle :blink:

Ich bin neu hier in der Gegend und finde das Forum echt :topp:

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

:topp: Hi Greg!!!

Ich arbeite an einem System um 100€ zu verdoppeln und dann mit dem Geld der Bank weiter zu spielen :topp:

Die Strategie die ich entwickel lautet 100:1 Strategie

Wenn Du möchtest kannst Du mit Deinen Ideen mitwirken.

Ich lege großen Wert auf übersichtlichkeit des Programms und auf akustische Signale :topp:

Mein Ziel sind es 1000€ gesamt zu gewinnen.

Wichtig ist mit einem gutem system anzutreten

:topp:

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ 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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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").ClearContents

For i = 2 To 50001

Cells(i, 1) = Int(Rnd * 37) + 1

Cells(i, 2) = Int(Rnd * 37) + 1

If Cells(i, 1) = Cells(i, 2) Then

Cells(i, 3) = "Ok"

win = win + (Cells(1, 2) * 35)

End If

Next i

einsatz = i * Cells(1, 2)

MsgBox "Gewinnsumme " & win & " Spieleinsatz " & einsatz

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 Integer
Columns("C:C").ClearContents
For i = 2 To 5000
Cells(i, 1) = Int(Rnd * 37) + 1
Cells(i, 2) = Int(Rnd * 37) + 1
If Cells(i, 1) = Cells(i, 2) Then
   Cells(i, 3) = "Ok"
   win = win + (Cells(1, 2) * 36)
End If
Next i
einsatz = (i - 1) * Cells(1, 2)
MsgBox "Gewinnsumme " & win & " Spieleinsatz " & einsatz & vbNewLine & _
   "Ertrag " & win - einsatz
End Sub

Jetzt 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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 weeks later...

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 eintragen

Private Sub CommandButton1_Click()
   Call MeinMakro
End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo David Cooper

Damit 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ß :unsure:

Wenke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie ist deine Meinung dazu?

Du kannst jetzt schreiben und dich später registrieren. Bereits registrierter Teilnehmer? Dann melde dich jetzt an, um einen Kommentar zu schreiben.
Hinweis: Dein Beitrag wird nicht sofort sichtbar sein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Neu erstellen...