Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1508to1512
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

Zwei VBA Codes zusammenführen

Zwei VBA Codes zusammenführen
16.08.2016 16:25:34
Marcel
Hallo zusammen,
ich habe mir aus dem Forum zwei VBA Codes zusammengesucht und möchte nun, die beiden miteinander verbinden, dass beide Aktionen ausgeführt werden. Könnt ihr mir dabei bitte helfen?
1. Wenn eine Änderung in einer Zelle vorgenommen wird, soll diese rot eingefärbt werden
Public AlterWert As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
AlterWert = Target
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target  AlterWert Then Target.Interior.ColorIndex = 3
End Sub
2. Wenn eine Änderung in einer Zelle in einer Zeile vorgenommen wird schreibe das aktuelle Datum in Spalte D
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Const Datum_Spalte = 4
Dim ber As Range, z As Range
'Wenn Spalte D manuell geändert wird, "Undo"
If Not Intersect(Target, Columns(Datum_Spalte)) Is Nothing Then
Beep
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
Exit Sub
End If
Set ber = Intersect(Target, Me.UsedRange, Range("A2:C65536"))
If Not ber Is Nothing Then
Application.EnableEvents = False
For Each z In ber
Cells(z.Row, Datum_Spalte) = Date
Next z
Application.EnableEvents = True
End If
Danke und viele Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei VBA Codes zusammenführen
16.08.2016 16:35:08
ChrisL
Hi Marcel
Public AlterWert As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
AlterWert = Target
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Const Datum_Spalte = 4
Dim ber As Range, z As Range
If Target  AlterWert Then Target.Interior.ColorIndex = 3
'Wenn Spalte D manuell geändert wird, "Undo"
If Not Intersect(Target, Columns(Datum_Spalte)) Is Nothing Then
Beep
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
Exit Sub
End If
Set ber = Intersect(Target, Me.UsedRange, Range("A2:C65536"))
If Not ber Is Nothing Then
Application.EnableEvents = False
For Each z In ber
Cells(z.Row, Datum_Spalte) = Date
Next z
Application.EnableEvents = True
End If
End Sub

cu
Chris
Anzeige
AW: Zwei VBA Codes zusammenführen
16.08.2016 16:55:11
Marcel
Hi Chris,
danke, aber ich habe leider Null VBA Kenntnisse. Kannst Du mir bitte erklären, wie ich was und wo einfügen muss? :/
Danke und Gruß
AW: Zwei VBA Codes zusammenführen
16.08.2016 17:29:24
ChrisL
Hi Marcel
In das Modul der betreffenden Tabelle. Alt+F11, links Doppelklick auf Tabelle, Code einfügen.
cu
Chris
AW: Zwei VBA Codes zusammenführen
17.08.2016 09:02:20
Marcel
Es funktioniert! :)
Vielen Dank für die Hilfe!!!
AW: Zwei VBA Codes zusammenführen
17.08.2016 10:08:49
Marcel
Hi Chris,
funktioniert fast...
Ändere ich mehrere Werte über kopieren gleichzeitig bringt er einen Fehler und bezieht diesen auf:
If Target AlterWert Then
Kannst Du nochmal helfen?
Außerdem: Ändere ich Werte über die Funktion "Suchen & Ersetzen" macht er die Zelle nicht farbig und schreibt kein Datum dahinter. Geht das, dass auch hier die Änderungen nachverfolgbar sind?
Danke und Grüße
Anzeige
AW: Zwei VBA Codes zusammenführen
17.08.2016 11:11:53
Marcel
Fehler: Laufzeitfehler "13" Typen unverträglich
AW: Zwei VBA Codes zusammenführen
17.08.2016 12:40:40
ChrisL
Hi Marcel
Eine "gute" Lösung habe ich dir spontan auch nicht, da müsste man vermutlich die ganze Tabelle spiegeln und abgleichen. Die Kopiererei stört dann vermutlich die Arbeit (Performance), weil immer alle Daten doppelt geführt werden.
Quick & Dirty, am Anfang vom Code folgende Zeile einfügen:
On Error Resume Next
Hat zur Folge, dass der Fehler unterdrückt wird, aber einfärben tut sich dann auch nichts.
Suchen&Ersetzen fällt in die gleiche Kategorie. Wenn die zu bearbeitende Zelle vorher nicht einzeln selektiert wurde, funktioniert das Makro nicht.
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige