Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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

Ausführung, Change Ereignis

Ausführung, Change Ereignis
05.12.2021 11:56:07
Kuba
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
https://www.herber.de/bbs/user/149592.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Ausführung, Change Ereignis
05.12.2021 12:29:21
Nepumuk
Hallo Jakob,
teste mal:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
If Target.Row = 3 And Target.Count = 1 Then
With Tabelle2
Select Case Target.Column
Case 1
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngRow, 1).Value = Date
.Cells(lngRow, 2).Value = Target.Value
.Cells(lngRow, 3).Value = Time
Case 4
lngRow = .Cells(.Rows.Count, 5).End(xlUp).Row + 1
.Cells(lngRow, 5).Value = Date
.Cells(lngRow, 6).Value = Target.Value
.Cells(lngRow, 7).Value = Time
Case 6
lngRow = .Cells(.Rows.Count, 9).End(xlUp).Row + 1
.Cells(lngRow, 9).Value = Date
.Cells(lngRow, 10).Value = Target.Value
.Cells(lngRow, 11).Value = Time
End Select
End With
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Ausführung, Change Ereignis
05.12.2021 14:39:01
Jakob
Hallo Nepumuk,
ich bin sehr begeistert, wie schnell Rückmeldungen von den einzelnen Teilnehmern kommen. Ganz lieben Dank für Deine Hilfe. Von Volti hatte ich schon Lösungen erhalten u. die Umsetzung funktioniert sehr gut, ich werde aber auch deinen Code Testen der sicherlich genau so gut funktioniert. Jetzt muss ich aber erst einmal die Befehle verstehen u. die Basics lernen.
Schöne Grüße
Jakob
@ habe es gerade getestet super toll gemacht :-)
Nachtrag Ausführung, Change Ereignis
06.12.2021 22:12:30
Jakob
Hallo Nepumuk, hier eine kleine Ergänzung zum Code - Case1: Value = " ' " & Target.Value
in Case 4 und Case 6 bleibt alles wie du es geschrieben hast ohne " ' " & diese Zeichen - verstehe ich noch nicht. Ansonsten erscheint in der Zelle keine Zahl sondern ein Datum oder Uhrzeit.
Nachtrag: was muss ich beachten, wenn 2 Zellen verbunden sind und eine Zahl z.B. 05 als Text formatiert ist?
Schöne Grüße
Jakob
Anzeige
AW: Nachtrag Ausführung, Change Ereignis
07.12.2021 08:17:28
Nepumuk
Hallo Jakob,
kannst du bitte eine Mustermappe hochladen damit ich das nachvollziehen kann?
Gruß
Nepumuk
AW: Nachtrag Ausführung, Change Ereignis
07.12.2021 19:50:16
Jakob
Hallo Nepumuk, Dein Code passt, habe sicherlich zu viel gecodet u. wenn Zellen Verbunden sind, dann funktioniert Dein Code ebenfalls noch, habe es gerade getestet.
Vielen lieben Dank für deine schnelle Rückmeldung.
Schöne Grüße
Jakob:-)
AW: Ausführung, Change Ereignis
05.12.2021 12:35:06
volti
Hallo Jakob,
schau mal, ob es so hinkommt:
Code:

[Cc]

Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim sSp As String Select Case Target.Address(0, 0) Case "A3": sSp = "A" Case "D3": sSp = "E" Case "F3": sSp = "I" Case Else: Exit Sub End Select With Tabelle2.Range(sSp & Tabelle2.Range(sSp & Tabelle2.Rows.Count).End(xlUp).Row + 1) .Offset(0, 0).Value = Date .Offset(0, 1).Value = "'" & Target.Value .Offset(0, 2).Value = Time End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Ausführung, Change Ereignis
05.12.2021 14:10:09
Jakob
Hallo Karl-Heinz,
das passt 100%, ich bin von deiner sehr schnellen und präzisen Umsetzung sehr begeistert. Vielen lieben Dank für deine Hilfsbereitschaft. Jetzt versuche ich den Code zu verstehen und mir die Basics zu vermitteln.
@ Deine Empfehlung zum Forum ist top!
Mit besten Grüßen und Dir noch einen schönen Sonntag
Jakob

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige