Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.07.2024 18:36:17
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Neusten Wert aus Spalte auslesen und in bestimmte

Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 11:59:54
Anja

Hallo,
ich benötige Hilfe bei folgendem Problem:
In Spalte C werden Daten ab C 12 eingetragen. Ich möchte, dass der neuste aktuelle eingetragene Datensatz automatisch in Zelle D1 eingetragen wird. Achtung ich meine damit nicht den untersten letzten Wert in der Spalte, da es vorkommen kann das oberhalb auch etwas eingetragen wird.
Lösung kann als Formel oder mit VBA sein.
Ich danke schon mal im Voraus allen Tüftlern!!!!
Anja

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 12:06:51
Hajo_Zi
Hallo Anja,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
Application.EnableEvents = False
Range("D1") = Target
Application.EnableEvents = True
End If
End Sub

AW: Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 12:18:57
Gerd L
Hallo Anja!
Für das Modul jener Tabelle:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange As Range, objCell As Range
Set objRange = Intersect(Range("C12:C1000"), Target)
If Not objRange Is Nothing Then
For Each objCell In objRange
Range("D1").Value = Target.Value
Next
End If
End Sub
Gruß Gerd

Anzeige
AW: Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 12:59:27
Anja
Hallo Gerd,
du bist mein Held.
Danke
Anja

AW: Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 13:23:36
{Boris}
Hi,
der Code von Hajo ist aber in jeder Hinsicht besser.
Neben der überflüssigen Schleife werden auch die Events nicht ausgeschaltet - kein Drama, aber eben etwas unsauber.
VG Boris

AW: Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 13:40:08
Gerd L
der Code von Hajo ist aber in jeder Hinsicht besser.
Hi Boris,
nur in einer(Events), wenn überhaupt . Ansonsten hatte Hajo die Fragestellung (ab C12.) nicht genau gelesen u. für Mehrfacheinträge keine Vorsorge getroffen.
Frohes Schaffen.
P.S.: @ Anja: Man sollte auf alle Vorschläge antworten.
Gruß Gerd

Anzeige
AW: Neusten Wert aus Spalte auslesen und in bestimmte
19.10.2014 13:43:33
{Boris}
Hi Gerd,
aber wozu hast du die Schleife eingebaut?
Die verendeten Objektvariablen werden dabei überhaupt nicht genutzt ...?!
VG Boris

Ich kaufe noch schnell ein "w" ;-))
19.10.2014 13:44:36
{Boris}
...

AW: Ich kaufe noch schnell ein "w" ;-))
19.10.2014 14:03:25
Gerd L
Hi Boris,
schreibe mit STRG + ENTER mehrere Werte gleichzeitig in einen Bereich.
Gruß Gerd

AW: nicht ein Wert
19.10.2014 14:07:04
Hajo_Zi
Hallo Gerd,
sondern 88 , damit wir 88 mal der Wert in D1 geschrieben.
Gruß Hajo

AW: nicht ein Wert
19.10.2014 14:17:31
Gerd L
Hi Hajo,
richtig u. der letzte Wert bleibt in D1 drin; im Gegensatz zu deiner Prozedur, die dann diese Zelle leert.
Es kommt halt auch drauf an, was gewollt ist.
Gruß Gerd

Anzeige
AW: nicht ein Wert
19.10.2014 14:18:40
Hajo_Zi
der erste und letzte Wert sind aber gleich, falls nicht eine Formel eingetragen wird.
Gruß Hajo

AW: beste Lösung für diese Aufgabe
19.10.2014 14:24:59
Daniel
Hi
Ich würde es mal so formulieren:
Ihr beide habt ein bisschen Recht.
Selbstverständlich muss man den Code im Change-Event immer so auslegen, dass er nicht mit einem Fehler aussteigt, wenn man mal mehr als eine Zelle gleichzeitig ändert.
Andererseits ist für diese Aufgabenstellung eine Schleife über alle geänderten Werte auch nicht notwendig, da in die Zelle D1 immer nur ein Wert geschrieben werden kann.
Daher würde ich folgenden Code vorschlagen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange As Range
Set objRange = Intersect(Range("C12:C1000"), Target)
If Not objRange Is Nothing Then
Application.EableEvents = False
Range("D1").Value = objRange(1).Value
Application.EnableEvents = True
End If
End Sub
Hier wird bei einer Änderung von mehreren Zellen gleichzeitig der Wert der ersten Zelle nach D1 geschrieben.
Bei der Eingabe mit STRG+ENTER oder beim Löschen von Inhalten haben sowieso alle geänderten Zellen den Selben Wert, werden mit Copy-Paste unterschiedliche Werte gleichzeitig eingetragen, dann kann man sowieso nur einen davon in D1 anzeigen und dann ist ea auch egal, ob's der erst, oetzte oder irgend ein anderer ist.
Gruß Daniel

Anzeige
AW: Kaufe ein "n" wg.Option Explicit o.T.
19.10.2014 15:17:33
Gerd L

340 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige