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

Automatische Ausgabe von Werten

Automatische Ausgabe von Werten
04.01.2024 10:21:10
chrisko
Hallo zusammen!

Erstmal vorweg frohes neues Jahr allen!

Da ich nirgends passende Lösungen zu meinem Problem gefunden habe, habe ich mir hier neu angemeldet und bitte euch um Hilfe.
Mein Problem ist Folgendes:

Ich habe in der Spalte A verschiedene dreistellige Ziffernkombinationen (Als Beispiel: A5=100, A6=102, A7=100, A8=109, A9=107, A10=100, A11=102, usw...)
In der Spalte J habe ich dann eine Dropdownauswahlfeld mit den Auswahlmöglichkeiten "Ja" und "Nein", wobei auch die Möglichkeit gegeben ist nichts auszuwählen.

Jetzt konkret zu meiner Frage: Wenn ich in J5 "Ja" auswähle, möchte ich, dass in allen anderen Feldern von J, wo in der gleichen Zeile bei A steht, auch "Ja" ausgewählt wird automatisch. Also wenn ich bei J5 "Ja" auswähle, sollte als Beispiel bei J7 und J10 auch automatisch "Ja" ausgewählt werden.

Das gleiche soll aber nicht nur für 100 sondern für jede beliebige dreistellige Ziffernkombination gelten. Also wenn ich bei J6 "Ja" auswähle, sollte auch bei J11 "Ja" ausgewählt werden automatisch.

Ich hoffe ihr versteht was ich meine, und wenn dennoch noch Fragen sind könnt ihr euch gerne melden.

Lg Christian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Ausgabe von Werten
04.01.2024 11:03:27
ralf_b
suchst du nach einer Formellösung oder geht auch VBA?
AW: Automatische Ausgabe von Werten
04.01.2024 12:06:09
UweD
Hallo

Eine VBA Lösung könnte ich dir anbieten.

Dazu

- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Rechts diesen Code reinkopieren
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"

Dim SP As Integer, Z As Variant
SP = 1 'Spalte A
If Not Intersect(Target, Columns("J")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte J
For Each Z In Intersect(UsedRange, Columns(SP))
If Z = Cells(Target.Row, SP) Then 'prüft auf gleichen Wert in Spalte A
Application.EnableEvents = False
Cells(Z.Row, "J") = Target.Value
End If
Next
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub


Bei Änderungen in Spalte J läuft das Makro dann automatisch ab

LG UweD
Anzeige
AW: Automatische Ausgabe von Werten
04.01.2024 12:12:41
chrisko
Ich muss ehrlich zugeben, ich verstehe den Code zwar noch nicht zu 100%, aber er funktioniert und das ist super. Vielen Dank!
Werde mich wohl die nächsten Tage mal vermehrt in die VBA Programmierung einlesen.
Prima. Danke für die Rückmeldung (owT)
04.01.2024 13:39:40
UweD
AW: Prima. Danke für die Rückmeldung (owT)
08.01.2024 09:29:47
chrisko
Ich habe jetzt versucht, die Datei zu erweitern und den gleichen Prozess auf andere Spalten auszubreiten.
Leider funktioniert dies nicht und ich weiß nicht genau wo mein Fehler liegt, ich habe eine neue Variable angelegt und den gleichen Prozess habe ich nochmals gemacht.
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"

Dim SP As Integer, Z As Variant
Dim SP2 As Integer, Z1 As Variant
SP = 5 'Spalte E
SP2 = 15 'Spalte O
If Not Intersect(Target, Columns("L")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte L
For Each Z In Intersect(UsedRange, Columns(SP))
If Z = Cells(Target.Row, SP) Then 'prüft auf gleichen Wert in Spalte B
Application.EnableEvents = False
Cells(Z.Row, "L") = Target.Value
End If
Next
If Not Intersect(Target, Columns("V")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte V
For Each Z1 In Intersect(UsedRange, Columns(SP2))
If Z1 = Cells(Target.Row, SP2) Then 'prüft auf gleichen Wert in Spalte B
Application.EnableEvents = False
Cells(Z2.Row, "V") = Target.Value
End If
Next
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End If
End Sub


Wieso funktioniert meine Erweiterung nicht?
Anzeige
AW: Prima. Danke für die Rückmeldung (owT)
08.01.2024 11:01:58
UweD
Hallo


ungeprüft:

Da fehlt ein End If
siehe '*****

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"

Dim SP As Integer, Z As Variant
Dim SP2 As Integer, Z1 As Variant
SP = 5 'Spalte E
SP2 = 15 'Spalte O
If Not Intersect(Target, Columns("L")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte L
For Each Z In Intersect(UsedRange, Columns(SP))
If Z = Cells(Target.Row, SP) Then 'prüft auf gleichen Wert in Spalte B
Application.EnableEvents = False
Cells(Z.Row, "L") = Target.Value
End If
Next
End If '*****

If Not Intersect(Target, Columns("V")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte V
For Each Z1 In Intersect(UsedRange, Columns(SP2))
If Z1 = Cells(Target.Row, SP2) Then 'prüft auf gleichen Wert in Spalte B
Application.EnableEvents = False
Cells(Z2.Row, "V") = Target.Value
End If
Next
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End If
End Sub



LG UweD
Anzeige
AW: Prima. Danke für die Rückmeldung (owT)
08.01.2024 11:04:27
chrisko
Danke, zusätzlich ist mit noch ein Fehler aufgefallen, den habe ich auch ausgebessert und jetzt funktioniert es.

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"

Dim SP As Integer, Z As Variant
Dim SP2 As Integer, Z1 As Variant
SP = 5 'Spalte E
SP2 = 15 'Spalte O
If Not Intersect(Target, Columns("L")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte L
For Each Z In Intersect(UsedRange, Columns(SP))
If Z = Cells(Target.Row, SP) Then 'prüft auf gleichen Wert in Spalte B
Application.EnableEvents = False
Cells(Z.Row, "L") = Target.Value
End If
Next
End If '*****

If Not Intersect(Target, Columns("V")) Is Nothing Then ' Läuft nur ab, bei Änderungen in Spalte V
For Each Z1 In Intersect(UsedRange, Columns(SP2))
If Z1 = Cells(Target.Row, SP2) Then 'prüft auf gleichen Wert in Spalte B
Application.EnableEvents = False
Cells(Z1.Row, "V") = Target.Value
End If
Next
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End If
End Sub


Anzeige
AW: Automatische Ausgabe von Werten
04.01.2024 11:05:24
chrisko
Ich würde dafür gerne eine Formel verwenden, da ich es selbst auch gerne verstehen würde, bei VBA habe ich nämlich noch gar keine Kenntnisse.
AW: Automatische Ausgabe von Werten
04.01.2024 11:16:06
ralf_b
ich schätze das dies nicht klappen wird,
Wenn du in einer Zelle einen Wert eingeben willst, dann kann in der Zelle keine Formel stehen. Die anderen Zellen sollen dann auf eine Änderung reagieren und ihre Inhalte anpassen. Das geht nur per Formel oder vba. Formel scheidet aber bei Eingabe von Werten aus.
AW: Automatische Ausgabe von Werten
04.01.2024 11:18:23
chrisko
Ja, das kann sein! Könnte es funktionieren wenn man eine zusätzliche Hilfsspalte benutzt? Die könnte ich dann ja später ausblenden.

Ansonsten, da ich mich mit VBA nicht bis kaum auskenne, wäre ich hier über jede Hilfe sehr erfreut.
Anzeige
AW: Automatische Ausgabe von Werten
04.01.2024 11:26:03
ralf_b
erstelle eine eindeutige Liste deiner Zahlen und daneben gibts du dein "ja" oder "sonstwas" ein. Mittels einer Formel kann man dann in der eigentlichen Tabelle die Werte hineinzaubern. Wenn du das nicht selbst hinbekommst, mach eine Beispieldatei fertig ,in der die Zellbreiche mit dem Original übereinstimmen.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige