2 Markos zusammenführen
30.04.2019 08:31:25
Maurice
Ich heisse Maurice und bin neu hier im Forum. Ich möchte euch freundlich bitten, mir hier zu helfen. Ich kenne mich leider mit VBA (noch) gar nicht aus. Allerdings konnte ich mit googeln die Codes finden, die ich brauche. Leider weiss ich allerdings nicht, wie ich diese zwei verschiedenen Codes nun so einfüge, damit sie parallel laufen können.
Das erste soll mir beim einfügen von Artikelnummern in einer bestimmten Spalte alle _
Sonderzeichen und Leerzeichen entfernen, damit nur die Zahlen und Buchstaben bleiben. Dies _ funktioniert auch soweit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
Dim Bereich As Range
Dim Regex As Object
Set Bereich = Intersect(Target, Range("F2:F5000"))
If Bereich Is Nothing Then Exit Sub
Set Regex = CreateObject("Vbscript.Regexp")
With Regex
.Pattern = "[^A-Za-zÄÖÜäöüß\d]"
.Global = True
.IgnoreCase = False
.MultiLine = False
Application.EnableEvents = False
For Each Zelle In Bereich
Zelle.Value = .Replace(Zelle.Text, "")
Next
End With
Application.EnableEvents = True
End Sub
Das zweite soll mir bei der Änderung eines Status in der Zelle daneben angeben, wann die Ä _
nderung erfolgt ist.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
Jetzt möchte ich diese beiden gerne beide gerne so zusammenführen, dass es in meinem Worksheet funktioniert. Ich danke euch sehr für eure Hilfe!
Wenn jemand noch Tipps hat, würden mich folgende Dinge noch interessieren:
- Bestenfalls sollte das "Sonderzeichen" Makro nicht nur alle Sonderzeichen entfernen, sondern auch dafür sorgen, dass alles direkt an die Zielformatierung angepasst wird. Momentan ändert sich z.B. die Farbe der Box oder die Schrift.
- Ich hatte bisher Probleme, wenn das Blatt geschützt ist. Irgendwie funktioniert dann zumindest das Datum Makro nicht. Woran liegt das? Was kann ich einfügen, dass es funktioniert? Mit Unprotect und Protect am Ende geht es, nur erscheint mir das Feld Einfügeoptionen nicht, was ja momentan benötigt wird, um eingefügte Artikelnummern an die Zielformatierung anzupassen.
- Gibt es die Möglichkeit, dass Excel die Statusänderungen in einem Log speichert? Es gibt z.B. bestellt, geliefert, Lager verlassen und Lieferverzug. Wenn der Status geändert wird, soll dies bestenfalls gespeichert werden.
Ich weiss, dass dies viele Fragen sind. Ich bin euch jedoch sehr sehr dankbar, für alles, was mich hier weiterbringt. Vielen Dank und Liebe Grüsse