Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Werte werden erst beim anwählen einer Zelle übernommen
#1
Hallo zusammen,

ich habe ein wahrscheinlich einfaches Problem, aber ich komme nicht drauf wie es gelöst werden kann.

Ich schreibe per select case verschiedene Werte in die Tabelle.

Code:
Select Case Range("N58").Text
Case "Audi"
 Range("P58") = 58
Case "BMW"
 Range("P58") = 59
Case "Daimler"
Range("P58") = 60
'usw  
End Select

Der Wert wird aber erst in die Zelle geschrieben, wenn ich irgend eine andere Zelle anwähle.
Was mache ich falsch?
Ich möchte, dass der Wert sofort übernommen wird, um weiter berechnet werden zu können.


Danke und Gruß
Andreas
to top
#2
Guten Morgen!
Hast Du auch das richtige Event gewählt?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$N$58" Then Exit Sub
Select Case Target.Text
  Case "Audi"
    Range("P58") = 58
  Case "BMW"
    Range("P58") = 59
  Case "Daimler"
    Range("P58") = 60
  'usw
End Select
End Sub
Gruß Ralf
to top
#3
Hallo,
ich habe selection change gewählt.
Nur mit change funktionierts nicht.
Hier der ganze Code:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim a As Range
Dim Bereich As Range
Set Bereich = ThisWorkbook.Sheets("Deckblatt").Range("F18,F20,G24,F38,F41,G26,G31,H44")
For Each a In Bereich
If a = Empty Then a = "Bitte eintragen"
Next
Set Bereich = Nothing

'----Anzeige des Logos----
Select Case Range("N58").Text
Case "Audi"
 Range("P58") = 58
Case "BMW"
 Range("P58") = 59
Case "Daimler"
 Range("P58") = 60

Case Else
 Range("P58") = 1
 
End Select


End Sub
Gruß
Andreas
to top
#4
Hallo,

Schau Dir die aller erste Zeile Deines Codes noch einmal an und vergleiche diese mit Ralfs erster Codezeile.
Gruß Atilla

Excel 2007
to top
#5
(01.04.2015, 10:07)atilla schrieb: Hallo,

Schau Dir die aller erste Zeile Deines Codes noch einmal an und vergleiche diese mit Ralfs erster Codezeile.
Mit "Private Sub Worksheet_Change(ByVal Target As Range)" funktioniert es nicht.
Da passiert gar nichts.
to top
#6
Hallo!
Bei meinem Makro wird ein Ereignis ausgelöst, wenn sich der Wert in Zelle N58 ändert.
Makro gehört ins Klassenmodul der Tabelle.
Ich persönlich würde dies auch nicht fest im Code "verdrahten", sondern einen SVerweis in einer ausgeblendeten Tabelle durchführen.

Wenn es bei Dir nicht klappt, empfehle ich den Upload Deiner (anonymisierten?) Mappe.

Gruß Ralf
to top
#7
Danke für die Hilfe,
ich glaube nicht, dass es so kompliziert ist.
Der Wert wird ja übernommen, aber erst nach "Enter" oder markieren einer Zelle.

Sonst funktioniert alles einwandfrei.
to top
#8
Hi!
Ja, das Verhalten ist normal.
Im Editiermodus einer Zelle wird kein Ereignis im VBA-Sinn ausgelöst.
Wenn Du aber einen Zellendropdown (Daten, Datengültigkeit, Liste) in Deine Zellen einpflegst, erübrigt sich Dein Problem.

Gruß Ralf
to top
#9
Ich wollte eigentlich die ewig lange "Wenn-Formel" mit dem Code umgehen.
Mit der Formel werden Änderungen sofort übernommen.

In dem jetzigen Fall werden die Hersteller ja per Zellendropdown eingegeben und anhand des Inhalts ein Wert geschrieben, um das jeweilige Logo einzublenden, aber das passiert erst wenn Enter gedrückt wird.

Gibt es für VBA nicht einen einfachen Befehl, der dies macht?


Gruß
Andreas
to top
#10
Hi!
1. Eine lange WENN-Formel kann man mit einer Hilfstabelle und bspw. dem SVERWEIS() elegant lösen.
2. Bei mir löst eine Änderung eines Zellendropdowns durchaus ein Change-Event aus.

Nochmal der Tipp von oben: Beispieldatei!

Gruß Ralf
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Text in einer Zelle automatisch eintragen, abhängig von anderen Zellen Willhelm82 25 210 01.12.2016, 14:24
Letzter Beitrag: Willhelm82
  Zellenausgabe in Abhängigkeit einer anderen Zelle tobisw 6 69 29.11.2016, 13:54
Letzter Beitrag: BoskoBiati
  Probleme beim ausdrucken einer Tabelle schtibbe 9 112 27.11.2016, 15:27
Letzter Beitrag: WillWissen
  Bedingte Formatierung zum hervorheben ob Termine eingehalten werden Annette 1 69 20.11.2016, 14:59
Letzter Beitrag: BoskoBiati
  Zählenwenn in Abhängigkeit von bestimmten Wörtern in einer Zelle Olivenbaum2013 11 155 16.11.2016, 00:36
Letzter Beitrag: Olivenbaum2013
  Bestimmte Zeile aus einer Zelle ausgeben Julian22 7 148 09.11.2016, 09:17
Letzter Beitrag: Julian22
  Suchen und Ersetzen innerhalb einer Zelle Nelson 4 98 04.11.2016, 14:16
Letzter Beitrag: Kuwer
  7 Stellen in einer Zelle zulassen stefanberg 2 93 28.10.2016, 10:15
Letzter Beitrag: schauan
  Werte eines Bereiches anzeigen die ungleich einer Vorgabe sind blade22 4 120 16.10.2016, 18:45
Letzter Beitrag: blade22
  Gleiche Werte einer Spalte in eine Zeile überführen jepjep 15 259 16.10.2016, 11:05
Letzter Beitrag: shift-del

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste