Microsoft Excel

Herbers Excel/VBA-Archiv

Neusten Wert aus Spalte auslesen und in bestimmte

Betrifft: Neusten Wert aus Spalte auslesen und in bestimmte von: Anja
Geschrieben am: 19.10.2014 11:59:54

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

  

Betrifft: AW: Neusten Wert aus Spalte auslesen und in bestimmte von: Hajo_Zi
Geschrieben am: 19.10.2014 12:06:51

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
GrußformelHomepage


  

Betrifft: AW: Neusten Wert aus Spalte auslesen und in bestimmte von: Gerd L
Geschrieben am: 19.10.2014 12:18:57

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


  

Betrifft: AW: Neusten Wert aus Spalte auslesen und in bestimmte von: Anja
Geschrieben am: 19.10.2014 12:59:27

Hallo Gerd,

du bist mein Held.

Danke

Anja


  

Betrifft: AW: Neusten Wert aus Spalte auslesen und in bestimmte von: {Boris}
Geschrieben am: 19.10.2014 13:23:36

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


  

Betrifft: AW: Neusten Wert aus Spalte auslesen und in bestimmte von: Gerd L
Geschrieben am: 19.10.2014 13:40:08

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


  

Betrifft: AW: Neusten Wert aus Spalte auslesen und in bestimmte von: {Boris}
Geschrieben am: 19.10.2014 13:43:33

Hi Gerd,

aber wozu hast du die Schleife eingebaut?
Die verendeten Objektvariablen werden dabei überhaupt nicht genutzt ...?!

VG Boris


  

Betrifft: Ich kaufe noch schnell ein "w" ;-)) von: {Boris}
Geschrieben am: 19.10.2014 13:44:36

...


  

Betrifft: AW: Ich kaufe noch schnell ein "w" ;-)) von: Gerd L
Geschrieben am: 19.10.2014 14:03:25

Hi Boris,

schreibe mit STRG + ENTER mehrere Werte gleichzeitig in einen Bereich.

Gruß Gerd


  

Betrifft: AW: nicht ein Wert von: Hajo_Zi
Geschrieben am: 19.10.2014 14:07:04

Hallo Gerd,

sondern 88 , damit wir 88 mal der Wert in D1 geschrieben.

Gruß Hajo


  

Betrifft: AW: nicht ein Wert von: Gerd L
Geschrieben am: 19.10.2014 14:17:31

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


  

Betrifft: AW: nicht ein Wert von: Hajo_Zi
Geschrieben am: 19.10.2014 14:18:40

der erste und letzte Wert sind aber gleich, falls nicht eine Formel eingetragen wird.

Gruß Hajo


  

Betrifft: AW: beste Lösung für diese Aufgabe von: Daniel
Geschrieben am: 19.10.2014 14:24:59

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


  

Betrifft: AW: Kaufe ein "n" wg.Option Explicit o.T. von: Gerd L
Geschrieben am: 19.10.2014 15:17:33




 

Beiträge aus den Excel-Beispielen zum Thema "Neusten Wert aus Spalte auslesen und in bestimmte "