VBA Recorder

Bild

Betrifft: VBA Recorder
von: Daniel
Geschrieben am: 11.10.2003 01:13:08

Hi

Kennt oder hat jemand eine gute Anleitung für den Recorder?

Schon mal vielen Dank im voraus.

Daniel

Bild


Betrifft: AW: VBA Recorder
von: OliveR
Geschrieben am: 11.10.2003 01:33:12

Hallo Daniel,

ich weiss nicht, ob man für den Recorder eine besondere Anleitung benötigt.
Folgende Schritte sind zu machen:
1. Extras/Macro/Aufzeichnen drücken
2. Namen (evtl. auch Shortcut) eingeben
3. Schritt für Schritt alles manuell durchführen, was das Macro später automatisch machen soll.
4. Macroaufzeichnung beenden.

Gruß
OliveR


Bild


Betrifft: AW: VBA Recorder
von: Daniel
Geschrieben am: 11.10.2003 01:35:18

Hi Oliver

Vielen Dank schon mal, aber genau an diesem Punkt 3 scheitere ich. Wie kann man denn dem PC bspw. eine Wenn Dann Sonst Funktion erklären???

Danke

Daniel.


Bild


Betrifft: AW: VBA Recorder
von: OliveR
Geschrieben am: 11.10.2003 01:59:00

Hola,

tja, das ist nach meinem Wissen mit dem Recorder nicht möglich.
Was eventuell eine Möglichkeit wäre:
1. Erste Macro erstellen (wenn dann)
2. Zweites Macro erstelln (wenn nicht dann)
3. In den Macro Code (bzw. Editor) gehen und beide mit einer IF Bedingung verknüpfen.

z.B. wenn a < 10 ist dann soll es addieren, wenn >10 subtrahieren

Sub Macro1 ()
a = a + 1
End Sub



Sub Macro2()
a = a - 1
End Sub


_______________



Sub Macro1_2()
If a < 10 then
   a = a + 1
Else 'könntest aber auch "Elseif a > 10 then" nutzen
   a = a - 1
End if
End Sub



Gruß
OliveR


Bild


Betrifft: AW: VBA Recorder
von: Daniel
Geschrieben am: 11.10.2003 02:06:58

Hi Oliver

Und wie definiert man nun bspw. dieses a und sagt a = Zelle A 10.

Und funktioniert das Skript danach automatisch oder muss noch was machen?

Danke

Daniel.


Bild


Betrifft: AW: VBA Recorder
von: OliveR
Geschrieben am: 11.10.2003 02:14:12

Hallo Daniel,

zu Frage 1 gibt es zwei Möglichkeiten:
1. entweder direkt ansprechen Range("A10") = Range("A10") + 1
2. oder über eine vorhergehende Zuweisung (ausgehend, dass es sich hier um eine Ganzzahl handelt)

Dim a as Integer
a = Range("A10")
a = a + 1

Beim ersten wird der Wert in der Zelle A10 geändert. Bei der zweiten wird der Wert in der Zelle nicht geändert, sondern nur der Wert gezogen und dann addiert.

Zu Frage 2:
Normalerweise wird es manuell angestossen (über Marcro/Ausführen oder Shortcut)
Man kann natürlich Macros auch automatisch starten lassen, z.B. wenn sich der Wert bestimmte Zelle sich ändert, etc. etc.

Gruß
OliveR


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Laufzeit-Fehler 9 - Index ausserhalb gültigen B..."