Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mehrere gleiche Makros in einem Sheet

mehrere gleiche Makros in einem Sheet
17.11.2022 13:14:35
Jörg
Hallo,
ich habe ein Makro für ein Dropdownmenü erstellt für Spalte C. Hier werden im Dropdown zwei Infos eingeblendet aber nur die erste eingefügt, läuft gut!
Nun möchte ich das selbe in Spalte D ebenfalls anwenden.
Kopiere ich nun das Makro und setze es ein, gibt es eine Fehlermeldung das das es zwei gleiche Makronamen gibt. Einfach eine _II anfügen geht nicht.
Wie komme ich hier zur einer Lösung? Kann man evtl gleich beide Spalten angeben?
Das ist der Code den ich nutze:

Private Sub Worksheet_Change(ByVal Target As Range)
'Code zum Teilweisen anzeigen aus dem Dropdownmenü vom Sachbearbeiter
Spalte = "C"
StartZeile = 11
EndZeile = 99999
For i = StartZeile To EndZeile
Cell = Spalte + Trim(Str(i))
Wert = Range(Cell).FormulaR1C1
If InStr(Wert, " - ") > 0 Then
Pos = InStr(Wert, " - ")
Wert = Left(Wert, Pos - 1)
Range(Cell).FormulaR1C1 = Wert
End If
Next i
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere gleiche Makros in einem Sheet
17.11.2022 13:24:29
Daniel
Hi
von den automatisch ausgeführten Makros kann es immer nur eines gleichzeitig geben und der Name darf auch nicht verändert werden.
Wenn du einen Zellwert änderst, schaut Excel ob es ein Makro gibt, das " Worksheet_Change" heißt und wenn ja, wird dieses Makro ausgeführt.
du musst also den Code für die zweite Spalte auch noch in dieses Makro schreiben.
btw, ist dein Makro zu umständlich.
nutze Cells(Zeilennummer, Spaltennummer) statt Range(Adresse), wenn du Zellen über Variablen ansprechen willst.
dann könnte man hier eine Schleife über die Spalte machen

Private Sub Worksheet_Change(ByVal Target As Range)
'Code zum Teilweisen anzeigen aus dem Dropdownmenü vom Sachbearbeiter
StartZeile = 11
EndZeile = 99999
For i = StartZeile To EndZeile
For Spalte = 3 to 4
Wert = Cells(i, Spalte).FormulaR1C1
If InStr(Wert, " - ") > 0 Then
Pos = InStr(Wert, " - ")
Wert = Left(Wert, Pos - 1)
Cells(i, Spalte).FormulaR1C1 = Wert
End If
Next Spalte
Next i
End Sub
btw. muss das bei jeder Ändernung auf dem Blatt ausgeführt werden?
in der Variabel Target hast du die geänderten Zellen hinterlegt, dh du könntest noch abfragen, in welcher Spalte die liegen.
weiterhin solltest du wissen, dass sich diese Makros selbst aufrufen können.
dh wenn du Range(Cell).FormulaR1C1 = Wert ausführst, wird das Change-Eventmakro erneut gestartet.
du solltest dir also auf jeden Fall mal anschauen, was Application.EnableEvent = False macht.
Gruß Daniel
Anzeige
AW: mehrere gleiche Makros in einem Sheet
17.11.2022 13:41:29
snb

Private Sub Worksheet_Change(ByVal Target As Range)
columns(3).resize(,2).replace " -*",""
End Sub

AW: mehrere gleiche Makros in einem Sheet
17.11.2022 17:11:45
Jörg
ähhh what?
Wozu dient das bitte? So gut kenne ich mich leider noch nicht aus.
AW: mehrere gleiche Makros in einem Sheet
17.11.2022 17:40:07
Daniel
Hi
dein Code entfernt in den Texten alles, was nach dem Bindestrich steht.
genau das gleiche passiert hier, nur eben über die Menüfunktion ERSEZTEN unter der zuhilfennahme von des Jokerzeichen:
ersetze jeden Text, der mit dem Bindestrich beginnt, durch nichts.
allerdings fehlt in der Zeile noch die Anweisung, dass das mit Teiltexten gemacht werden soll und nicht mit dem gesamten Inhalt

columns(3).resize(,2).replace " -*","", xlpart
Gruß Daniel
Anzeige
AW: mehrere gleiche Makros in einem Sheet
17.11.2022 17:10:15
Jörg
Vielen Dank, funktioniert!

213 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige