Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
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


...und ich gelobe Besserung...

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
  Wert einer Zelle als variable, welche den Wert einer anderen Zelle beeinflusst backflipnick 8 76 24.03.2017, 10:07
Letzter Beitrag: shift-del
  Zeilendopplung beim Einlesen einer XML-Quelle armin4352 1 43 23.03.2017, 19:11
Letzter Beitrag: schauan
  Buchstaben sollen mit 8 Stunden berechnet werden. biosprofi 8 84 22.03.2017, 00:21
Letzter Beitrag: shift-del
  Fehlermeldung - Verknüpfung kann nicht aktualisiert werden. Tuempeltaucher 2 56 21.03.2017, 08:28
Letzter Beitrag: WillWissen
  2 Zellen bedingen das Auslesen einer 3. Zelle johnny9000 5 55 20.03.2017, 16:59
Letzter Beitrag: johnny9000
Video Formel und vtl. Eintrag von Hand in in einer Zelle? Tortipower 15 305 17.03.2017, 23:01
Letzter Beitrag: schauan
  Formeln werden nicht automatisch in neue Zeilen übernommen Bluebear 5 85 16.03.2017, 17:52
Letzter Beitrag: shift-del
  2 Zellen bedingen die Auslese einer 3. Zelle johnny9000 3 71 16.03.2017, 17:14
Letzter Beitrag: johnny9000
  Hilfe - Prüfungsvorbereitung kann nicht gelöst werden! maria 3 84 14.03.2017, 19:25
Letzter Beitrag: schauan
  Sverweis mit Mehrfachtreffern | Ergebnis in einer Zelle erhalten derOlli 26 407 14.03.2017, 14:23
Letzter Beitrag: derOlli

Gehe zu:


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