Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte automatisch eintragen

Werte automatisch eintragen
11.08.2005 11:52:03
matti
Hallo,
mein Problem ist folgendes: Ich muss mithilfe einer Exceltabelle große Datenmengen eingeben. Dabei bestimmen Werte einiger Spalten die Werte in anderen Spalten. Zum Beispiel: Wenn in Spalte A der Wert 5 eingetragen wird und in Spalte B ein Wert größer als 6, muss in Spalte C immer der Wert 9 stehen. Ansonsten soll der Wert für Spalte C von Hand eingetragen werden. Kann man das automatisieren?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte automatisch eintragen
11.08.2005 12:09:54
IngGi
Hallo matti,
Formel in C1: =wenn(und(A1=5;B1&gt6);9;"")
Gruß Ingolf
AW: Werte automatisch eintragen
11.08.2005 12:42:26
matti
hallo ingolf,
danke schön! es klappte zwar nicht so ganz (kam erstmal ein fehler), aber ich hab's dann zu =WENN(UND(A1=5;B1&gt6);9;"")abgewandelt und jetzt funktioniert es. herrlich! nochmal tausend dank!
AW: Werte automatisch eintragen
11.08.2005 12:52:08
WernerB.
Hallo Matti,
der nachstehende Code gehört in das Tabellenblatt-Modul des entsprechenden Tabellenblattes:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 2 Then Exit Sub
If Cells(Target.Row, 1).Value <> 5 Then Exit Sub
If Cells(Target.Row, 2).Value > 6 Then
Cells(Target.Row, 3).Value = 9
End If
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Werte automatisch eintragen
11.08.2005 14:02:20
matti
hallo werner,
danke erstmal. ich verstehe den vorteil deiner lösung: ich muss nicht in jede zeile die formel kopieren und kann so auch viel einfacher die bedingungen ändern. trotzdem rätsel ich noch ein bisschen:
warum hast du die zeile If Target.Column &gt 2 Then Exit Sub eingefügt? könnte man die nicht auch weglassen?
AW: Werte automatisch eintragen
11.08.2005 14:03:29
matti
hallo werner,
danke erstmal. ich verstehe den vorteil deiner lösung: ich muss nicht in jede zeile die formel kopieren und kann so auch viel einfacher die bedingungen ändern. trotzdem rätsel ich noch ein bisschen:
warum hast du die zeile If Target.Column &gt 2 Then Exit Sub eingefügt? könnte man die nicht auch weglassen?
Anzeige
AW: Werte automatisch eintragen
11.08.2005 14:25:14
IngGi
Hallo Matti,
für dieses Makro interessieren ja nur Eingaben in Spalte A oder B. Die Zeile beendet das Makro sofort wieder, wenn Eingaben in anderen Spalten gemacht werden. Das ist für dieses Makro vielleicht noch vernachlässigbar. Aber stell dir mal vor, eine Eingabe in einer bestimmten Zelle soll ein Makro mit umfangreicheren Aktionen auslösen. Im schlimmsten Fall werden dadurch irgendwo unbemerkt Daten verändert. Und selbst im besten Fall steigt das Makro mit einer Fehlermeldung aus oder wird, ohne dass es zu Datenänderungen kommt, jedesmal komplett abgearbeitet, was viel Zeit in Anspruch nehmen kann. Beides ist zumindest lästig und ärgerlich. Im ersten Fall ist es sogar brandgefährlich.
Gruß Ingolf
Anzeige
noch eine frage
11.08.2005 14:31:23
matti
erstmal: sorry für das doppel-posting.
und dann noch eine frage: ich habe mal folgendes probiert.

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, 1).Value = 5 Then
If Cells(Target.Row, 2).Value > 6 Then
Cells(Target.Row, 3).Value = 9
End If
End If
If Cells(Target.Row, 3).Value = 9 Then
If Cells(Target.Row, 4).Value = 6 Then
Cells(Target.Row, 5).Value = 9
End If
End If
End Sub

das problem ist, dass sich excel daran aufhängt. wenn man allerdings wieder
If Target.Column > 4 Then Exit Sub
einfügt, klappt es. wenn allerdings auch nach reihe 5 noch automatische veränderungen passieren sollen (man müsste dann zum Beispiel "Target.Column > 8" setzen, geht excel wieder in die knie.
gibt es da einen ausweg?
Anzeige
AW: noch eine frage
11.08.2005 15:21:31
WernerB.
Hallo Matti,
das Problem ist, dass sich das Makro bei einem Zelleintrag selbst immer wieder aufruft, noch bevor es ganz abgearbeitet ist ("Excel hängt sich daran auf").
In solchen Fällen kann man die Ereignissteuerung ausschalten; man sollte aber peinlichst darauf achten, dass sie danach auch wieder eingeschaltet wird.
Solange die Ereignissteuerung ausgeschaltet ist, kann sich das Makro nicht selbst wieder aufrufen; auch alle anderen ereignisgesteuerten Makros funktionieren dann nicht mehr!

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, 1).Value = 5 Then
If Cells(Target.Row, 2).Value > 6 Then
Application.EnableEvents = False  'Ereignis AUS
Cells(Target.Row, 3).Value = 9
Application.EnableEvents = True   'Ereignis EIN
End If
End If
If Cells(Target.Row, 3).Value = 9 Then
If Cells(Target.Row, 4).Value = 6 Then
Application.EnableEvents = False  'Ereignis AUS
Cells(Target.Row, 5).Value = 9
Application.EnableEvents = True   'Ereignis EIN
End If
End If
End Sub

Gruß
WernerB.
Anzeige
AW: noch eine frage
11.08.2005 15:40:57
matti
danke werner, danke ingolf! jetzt sind wirklich alle meine probleme gelöst. super.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige