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

Automatischer Zelleneintrag

Automatischer Zelleneintrag
09.06.2021 15:47:28
MaAs
Hallo Zusammen,
ich habe etwas recherchiert und für mich einen passenden Code gefunden, den ich soweit angepasst habe. Es geht um folgendes: Ich möchte, wenn ich in einer bestimmten Spalte die Zahlen 1 bis 6 eintrage, dass die benachbarte Zelle mit einem bestimmten Wert versehen wird. Das klappt soweit auch, jedoch nur wenn ich manuell den Wert 1 bis 6 händisch eintippe. Wenn die Werte reinkopiert werden, klappt das nicht mehr. Kann man diesen Code irgendwie anpassen? Leider verstehe ich nicht jeden Befehl, sodass ich gar nicht weiß, wo ich da was manipulieren kann. Ein weiteres Problem habe ich wenn ich den Wert 1 bis 6 lösche, der Wert in der benachbarten Zelle bleibt stehen, das sollte nicht sein.
Vielen Dank an alle hilfsbereiten Menschen!
Liebe Grüße
Mariam

Private Sub Worksheet_Change(ByVal Target As Range)
Const myCol = 3
If Not Intersect(Target, Columns(myCol)) Is Nothing Then
a = Worksheets("Tabelle3").Range("B1").Value
b = Worksheets("Tabelle3").Range("B2").Value
c = Worksheets("Tabelle3").Range("B3").Value
d = Worksheets("Tabelle3").Range("B4").Value
e = Worksheets("Tabelle3").Range("B5").Value
f = Worksheets("Tabelle3").Range("B6").Value
On Error Resume Next
If Intersect(Target, Columns(myCol)).Value = 1 Then
Target.Offset(, 1) = IIf(Target(1) = vbNullString, vbNullString, a)
Else
If Intersect(Target, Columns(myCol)).Value = 2 Then
Target.Offset(, 1) = IIf(Target(1) = vbNullString, vbNullString, b)
Else
If Intersect(Target, Columns(myCol)).Value = 3 Then
Target.Offset(, 1) = IIf(Target(1) = vbNullString, vbNullString, c)
Else
If Intersect(Target, Columns(myCol)).Value = 4 Then
Target.Offset(, 1) = IIf(Target(1) = vbNullString, vbNullString, d)
Else
If Intersect(Target, Columns(myCol)).Value = 5 Then
Target.Offset(, 1) = IIf(Target(1) = vbNullString, vbNullString, e)
Else
If Intersect(Target, Columns(myCol)).Value = 6 Then
Target.Offset(, 1) = IIf(Target(1) = vbNullString, vbNullString, f)
End If
End If
End If
End If
End If
End If
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatischer Zelleneintrag
09.06.2021 18:52:45
Yal
Hallo Mariam,
ich bin nicht ganz sicher, dass ich richtig erfasst habe, was Du damit machst.
Ich gehen davon aus, dass wenn etwas sich ändert in Spalte 3, wird jede Zelle recht der Spalte 3 die Werte aus B1 bis B6 (abh. von Wert in Spalte 3) bekommen, wenn die Wert in Spalte 3 nicht null ist.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim B As Range
Dim Z As Range
Const myCol = 3
Set B = Intersect(Target, Columns(myCol))
If Not B Is Nothing Then
For Each Z In B.Cells
Select Case Z
Case 1, 2, 3, 4, 5, 6
Z.Offset(0, 1) = Worksheets("Tabelle3").Range("B" & Z).Value
End Select
Next
End If
End Sub
VG
Yal
Anzeige
AW: Automatischer Zelleneintrag
10.06.2021 11:17:15
MaAs
Hallo Yal,
ich danke Dir! Das ist genau das, was ich wollte und das auch noch kurz knapp =).
Mit copy paste klappt das jetzt problemlos. Nur wenn ich einen Wert wieder rauslösche, bleibt der Eintrag in der benachbarten Zelle stehen. Kann man dafür sorgen, dass mit dem Löschen aus Spalte 3 auch der automatisch eingefügte Eintrag entfernt wird?
Vielen Dank und liebe Grüße
Mariam
AW: Automatischer Zelleneintrag
10.06.2021 11:21:55
MaAs
Hallo Yal,
ich danke Dir! Das war genau das was ich wollte und das so kurz und knapp=)
Mit copy&paste klappt das jetzt. Nur wenn ich einen Wert aus Spalte 3 entferne, bleibt in der benachbarten Zelle der automatisch eingefügte Eintrag stehen. Gibt es eine Lösung dafür, dass der Wert mit gelöscht wird?
Vielen Dank und liebe Grüße
Mariam
Anzeige
AW: Automatischer Zelleneintrag
10.06.2021 16:38:16
Yal
Hallo Mariam,
Das Ereignis "Worksheet_Change" reagiert, wenn der Wert in der Zelle editiert wurde. Das Löschen u.a. durch Taste "Entf" ist keine Editierungsvorgang.
Wenn Du aber auf die Zelle F2, Entf, Enter, dann sollte das Ereignis-Procedure reagieren.
VG
Yal
AW: Automatischer Zelleneintrag
10.06.2021 18:34:13
MaAs
Hallo Yal,
Danke! Ich wollte es einfach idiotensicher haben. Weil mehrere Personen darauf zugreifen, und Werte einfügen und entfernen. Aber das ist schon mal was.
Liebe Grüße
Mariam

165 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige