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

Werte automatisch übertragen

Werte automatisch übertragen
29.02.2024 11:52:05
Eisi
Hallo zusammen,

nachfolgender Code überträgt mir einfach nicht die Werte aus der Qualle nach Ziel.
Wo liegt das Problem, vom User mal abgesehen :-)

Vielen Dank.

LG Eisi :-)
-------------------------------------------------------------


Private Sub Worksheet_Change(ByVal Target As Range)

tbl_Kalkulation.Unprotect ("20")

Dim sourceRange As Range
Dim targetRange As Range
Dim cell As Range

' Definiere die Quell- und Zielbereiche
Set sourceRange = Me.Range("B1471:B1477")
Set targetRange = Me.Range("B1517:B1523")

' Überprüfe, ob die geänderte Zelle im Quellbereich liegt
If Not Intersect(Target, sourceRange) Is Nothing Then
Application.EnableEvents = False ' Deaktiviere Event-Handling vorübergehend, um Endlosschleife zu vermeiden

' Durchlaufe jede Zelle im Quellbereich
For Each cell In Intersect(Target, sourceRange)
' Kopiere den Wert aus der Quellzelle in die entsprechende Zelle im Zielbereich
targetRange.Cells(cell.Row - sourceRange.Cells(1).Row + 1, 1).Value = cell.Value
Next cell

Application.EnableEvents = True ' Aktiviere Event-Handling wieder
End If

tbl_Kalkulation.Protect ("20")

End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte automatisch übertragen
29.02.2024 12:31:37
Yal
Hallo Eisi,

vielleicht so?

Private Sub Worksheet_Change(ByVal Target As Range)

Dim sourceRange As Range
Dim cell As Range

Const cSource = "B1471:B1477"
Const cZeilenVersatz = 46 '1517-1471

' Überprüfe, ob die geänderte Zelle im Quellbereich liegt
If Not Intersect(Target, Range(cSource)) Is Nothing Then
Application.EnableEvents = False
tbl_Kalkulation.Unprotect ("20")
' Durchlaufe jede Zelle im Quellbereich
For Each cell In Intersect(Target, Range(cSource))
cell.Offset(cZeilenVersatz).Value = cell.Value
Next cell

tbl_Kalkulation.Protect ("20")
Application.EnableEvents = True
End If
End Sub
Anzeige
AW: Werte automatisch übertragen
29.02.2024 12:38:11
Eisi
Hallo Yal,

danke für Dein Lösungsansatz, geht leider auch nicht.

Eine ähnliche Lösung habe ich schon, die wird aber ausgelöst, wenn ich ein Sub ausführe und den Code zum kopieren dann aufrufe.
Also mit einem Button funktioniert es, aber nicht mit einem Change-Ereignis leider nicht.

Grüße Eisi
AW: Werte automatisch übertragen
29.02.2024 12:45:08
Yal
Hallo Eisi,

ein "Worksheet_Change"-Ereignis ist am Objekt gebunden, wo diese "Change" stattfindet. Diese Sub darf nicht in einer allgemeine Modul sein ("Modul1") liegen, sondern in dem Modul von Tabelle "tbl_Kalkulation". Also ich gehe davon aus, dass es sich um dieses Blatt handelt, weil sonst würde den Unprotect/Protect keinen Sinn ergeben.

VG
Yal

Anzeige
AW: Werte automatisch übertragen
29.02.2024 12:52:22
Eisi
Hallo Yal,

perfekt, das war der Grund, leuchtet mir jetzt wieder ein.
Hatte ich glatt vergessen.

Herzlichen Dank.

GLG Eisi :-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige