Hallo zusammen, ich möchte gerne über ein VBA-Code in Excel 2016 folgendes erreichen: Im Tabellenblatt1 wird immer in der selben Zelle z.B. A3 eine Zahl von 1 bis 100 für Produkt" A" eingetragen ist abhängig von der Rezeptur, diese Zahl soll dann in das nächste Tabellenblatt2 in die nächstfreie Zelle untereinander eingetragen werden also eine Dokumentation von der Tabelle1 . Mein Code-Beispiel funktioniert in der angegebenen Form
Option Explicit
' Der Code wird ausgeführt,wenn das Change-Ereignis eintritt,das heißt,wenn irgendwo_
' auf dem Blatt der Wert der Zelle geändert wird.Dabei wird die Zelle,die geändert wurde_
' in den Variablen Target als Range-Objekt gespeichert.
Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn die Target-Zelle nicht A3 ist,wird der Code abgebrochen.
If Intersect(Target, Range("A3")) Is Nothing Then Exit Sub
' Datentypbezeichnung
Dim ZeileFrei As String
Dim Zelle As Range
'ermöglicht das Ausführen einer Reihe von Anweisungen für ein Objekt
With Tabelle2
'Zellen werden einzeln angesprochen-Haltepunkt
For Each Zelle In Target
ZeileFrei = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Range("A" & ZeileFrei).Value = Date
.Range("B" & ZeileFrei).Value = "'" & Zelle.FormulaLocal
.Range("c" & ZeileFrei).Value = Time
Next Zelle
'Mit der With Anweisung können wir eine Reihe von Befehlen für ein einzelnes Objekt ausführen.
End With
End Sub
Mein Problem ist nun, wenn im Tabellenblatt1 mehrere Produkte für Rezepturen vorhanden sind A,-B,-C,-D.....usw. wie ergänze ich den Code, damit bei jeder Rezepturänderung im Tabellenblatt1 die Dokumentation auch für Produkt B,-C,-D......usw. für das Tabellenblatt2 funktioniert? Vorab schon einmal vielen lieben Dank für die Hilfe
Jakob
|