Herbers Excel-Forum - das Archiv
Macro in einer beliebigen Zelle ausführen

|
Betrifft: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 09:56:07
Hallo Leute,
bin ein Excel-Unwissender und habe schon wieder eine dumme Frage.
wenn man ein kleines Macro aufzeichnet, wie kann man dann dieses in der Zelle starten, in der sich der Curser befindet?
Bisher schaffe ich es immer nur es dort ausführe zu lassen, wie ich es aufgezeichnet hatte.
Ich bräuchte es aber auch ein paar Zeilen darunter, was ich nicht hinbekomme.
Ich müsste jedes Mal ein Neues Macro aufzeichnen und das geht doch bestimmt auch einfacher.
Weiß das jemand von euch?
Vielen Dank im Voraus für Eure Hilfe
Gruß Rolf
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Holger Levetzow
Geschrieben am: 20.11.2003 09:59:16
dann stelle den Code mal hier rein. Da steht sowas wie
Range("A4").select ...
das müßte sowas werden wie
Activecell.select ...
Holger
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 11:13:49
Hallo Holger,
ich verstehe nur Bahnhof.
Meinst Du ich soll eine Beispieltabelle ins Forum stellen?
Gruß Rolf
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 11:22:28
Hallo Holger,
ich verstehe nur Bahnhof. Meinst Du ich soll eine Beispieltabelle hochladen?
Habe es schon versucht unter Muster.xls.
Leider funktioniert das nicht. Werde immer wegen ungültigem Dateinamen abgewiesen.
Gruß Rolf
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Holger Levetzow
Geschrieben am: 20.11.2003 11:33:58
du musst den VBA-Code bearbeiten. An den kommst Du mit Alt+F11. Da siehst Du den Code, den der Makrorekorder aufgezeichnet hast. Der muss angepasst werden.
Du kannst natürlich gern die Mappe mal hochladen.
Gehe zum Hochladen auf durchsuchen, such die datei und wähle "Datei zum Server", dort erfährst du dann den namen der Datei. Notfalls maile sie zu HLevetzow@T-Online.de
mfg Holger
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 12:56:57
Hallo Holger,
das Hochladen habe ich schon mehrfach versucht. Es klappt aber nicht.
Ich maile Dir mal die Datei zu, ja.
Danke
Gruß Rolf
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Holger Levetzow
Geschrieben am: 20.11.2003 13:10:50
Hallo Rolf, ich habe die Datei erhalten und als
https://www.herber.de/bbs/user/2043.xls
hochgeladen.
Ist das die richtige Datei. Da ist kein aufgezeichnetes Makro drin, dafür ein Worksheet_chage-Ereignis (an der falschen Stelle, nicht aufgezeichnet!)
Und was soll nungemacht werden?
mfg Holger
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 13:42:25
Hallo Holger,
wieso klappt das bei Dir und bei mir nur nicht :-(((
In die Tabelle soll folgendes Mekro gestellt werden:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Range("B1:B100")
Dim arr As Variant
arr = Array("Ur", "K", "Br")
' Eingabebereich prüfen
If Not (Intersect(Target, rng) Is Nothing) Then
' ist eingegebener Text in Vorgabewert-Liste?
If Not (IsError(Application.Match(Target.Value, arr, 0))) Then
' Wert in Spalte A schon eingeklammert?
If Not (Left(Target.Offset(0, -1), 1) = "(" And Right(Target.Offset(0, -1), 1) = ")") Then
Target.Offset(0, -1).Value = "(" & Target.Offset(0, -1).Value & ")"
End If
Else
' Wert in Spalte A eingeklammert?
If (Left(Target.Offset(0, -1), 1) = "(" And Right(Target.Offset(0, -1), 1) = ")") Then
Target.Offset(0, -1).Value = Mid(Target.Offset(0, -1).Value, 2, Len(Target.Offset(0, -1).Value) - 2)
End If
End If
End If
End Sub
Bei mir gibt das aber immer eine Fehlermeldung
Gruß Rolf
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Holger Levetzow
Geschrieben am: 20.11.2003 13:53:16
das Makro war in der falschen tabelle. sieh mal rein:
https://www.herber.de/bbs/user/2044.xls
Holger
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 14:01:41
Hallo Holger,
vielen Dank fürs reinkopieren. Aber wieso konnte ich das Makro in einer falschen Tabelle kopieren? es gab doch nur dieses eine TAbellenblatt. Verstehe ich nicht.
Nun muss ich nur ncoh herausbekommen, wie man diese Klanmmer in die Zelle erscheinen läßt die oberhalb der Zelle ist, in die man den Buchstaben K Br usw. eingibt. In der jetzigen Form wird eine Klammer links neben dem EIngabefeld erzeugt.
Gruß Rolf
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Holger Levetzow
Geschrieben am: 20.11.2003 16:03:53
Du hattest ein Extra-Modulblatt angelegt und alles da reingepackt. Es muss aber in das Blatt der Tabelle.
Du musst dein Target.Offset(0, -1) ändern. Das 0 für gleiche zeile, -1 für eine Spalte nach links, also sicher willst Du Target.Offset(-1, 0)
Holger
Betrifft: AW: Macro in einer beliebigen Zelle ausführen
von: Rolf
Geschrieben am: 20.11.2003 18:12:26
Hallo Holger,
vielen Dank für die vielen Tipps. Hat wunderbar funktioniert.
Vielen, vielen Dank an Dich.
viele Grüße
Rolf