VBA Array erstellen |
02.02.2010, 19:39 | Auf diesen Beitrag antworten » | |||||||
Corny | VBA Array erstellen Hallo Ich benötige eure Hilfe. Ich möchte 36 Rechtecke zu einem Array zusammenfassen. Hab mir folgendes überlegt. Meine Rechtecke haben den Namen R0,R1,R2...... Dim Quad(35) As Control Quad=Array(R0,R1,R2,R3,R4....,R35) Set Quad(0) =R0 Set Quad(1)=R1 Set Quad(2)=R2 . . . Set Quad(35)=R35 Kann man das auch kürzer schreiben, z.B. mit einer Schleife. Möchte es auch noch global haben. Also müsste ich es ja direkt oben unter Option Explicit schreiben oder? Wäre über Ratschläge sehr erfreut. |
|||||||
|
||||||||
02.02.2010, 20:18 | Auf diesen Beitrag antworten » | |||||||
David_pb | Was für Rechtecke sind das denn?
Dies füllt dein Array ja bereits, du brauchst die einzelnen Einträge also nicht nochmals zu zuweisen.
Zur Variablen Lebensdauer findest du hier etwas: http://www.ozgrid.com/VBA/variable-scope-lifetime.htm |
|||||||
06.02.2010, 18:27 | Auf diesen Beitrag antworten » | |||||||
Corny | Des sind einfach aufgezogene Rechtecke, die ich durch eine Randomize funktion sichtbar machen möchte. Aber es klappt wie du es geschrieben hast, wenn ich es nur mit Array schreibe. Der Link war auch toll. Hast mir sehr weitergeholfen. Danke |
|||||||
10.02.2010, 16:56 | Auf diesen Beitrag antworten » | |||||||
Corny | Ich bin jetzt schon wieder auf ein Problem gestoßen. Meine Rechtecke sollen sich nun beliebig auf dem Bildschirm bewegen. Das klappt ganz gut. Nur hab ich das Problem, dass die Rechtecke sich aus dem Bildschirm bewegen und man dann erst nach unten Scrollen muss, um sie weider zu sehen. Hab mir überlegt, dass ich die maximalen Werte für den Bildschrim festlegen muss. Das j bezeichnet das enstprechende Rechteck und das i wird durch eine Schleife vergrößert, dass die Bewegung gleichmäßig verläuft. Quad(j).Move Quad(j).Left + 3 * i, Quad(j).Top - 20 * i If Quad(j).Top = 0 then Exit Function End If Wie kann ich jetzt maximalen Werte für die Bewegung festlegen? Weil so wie ich es mir gedacht hab in die If-Anweisung zu schreiben klappts leider nicht. |
|||||||
Anzeige | ||||||||
|
||||||||
11.02.2010, 13:14 | Auf diesen Beitrag antworten » | |||||||
David_pb | Wenn du auf Gleichheit Testest ist es wahrscheinlich, das du den Zeitpunkt verpasst, wenn deine Bewegung nicht Pixelweisse ist. Nimm lieber die Operatoren für "Kleiner Gleich" und "Größer Gleich". |
|||||||
11.02.2010, 18:00 | Auf diesen Beitrag antworten » | |||||||
Corny | Hey. Ja stimmt, der hat die Werte übersprungen. Mit kleiner gleich funktioniert es. Hab auch gedacht, dass die Angaben in cm sind, dabei sind sie in mm. Vielen Dank |
|||||||
11.02.2010, 18:30 | Auf diesen Beitrag antworten » | |||||||
Corny | Ich meine natürlich Twips nicht mm |
|||||||
12.02.2010, 17:30 | Auf diesen Beitrag antworten » | |||||||
David_pb | Ja, Twips... Du kannst das glaub ich auch in andre Metriken umstellen. |
|||||||
23.02.2010, 20:22 | Auf diesen Beitrag antworten » | |||||||
Corny | Hab schon wieder mal eine Frage. Möchte nämlich die Rechtecke bewen lassen und wenn sie zu nahe am Rand sind, sollen sie sich in die andere Richtung bewegen. Aber wenn man das Programm dann auf einem anderen Bildschirm testet, ändert sich ja die Bildschirmgröße. Deshalb kann man es ja nicht mit festen Werten machen. Kann man die Bildschirmgröße berechnen lassen? |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|