3.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo.
Hab ein ähnliches Problem wie schon mal beschrieben, kanns aber nicht umsetzen.

Wenn Feld B56 "Gewährleistungsdauer 24 Monate" soll Feld D56 mit einem Preis manuell beschrieben werden.
Wenn Feld B56 auf "Gewährleistungsdauer 12 Monate" geändert wird, soll Feld D56 den Wert aus C56 ziehen.


Kann mir jemand den passenden VB Befehl durchgeben? wär echt nett.

Besten Dank und Grüße
Benny

15 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Benny,

unter die Tabelle.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn Feld B56 auf "Gewährleistungsdauer 12 Monate" geändert wird, soll Feld D56 den Wert aus C56 ziehen.
If Target.Address = "$B$56" Then
Application.EnableEvents = False
If Target = "Gewährleistungsdauer 12 Monate" Then
Range("D56").Formula = "=C56"
Else
Target.ClearContents
End If
Application.EnableEvents = True
End If
End Sub


Gruß Hajo
0 Punkte
Beantwortet von
Hey,

wo unter die Tabelle einfügen?
Bei "Entwicklertools" > "Makros" ???

Muss das zwingend rein? > 'Wenn Feld B56 auf "Gewährleistungsdauer 12 Monate" geändert wird, soll Feld D56 den Wert aus C56 ziehen.

Ist ja nur die Problembeschreibung.....

Also funktioniert nicht. In Feld D56 bleibt der Wert immer noch stehen, wenn ich B56 von 24 auf 12 Monate geändert hab......

Versuchs nochmal zu erklären

B56 = Gewährleistungsdauer 12 Monate > D56 komplett leer
B56 = Gewährleistungsdauer 24 Monate > D56 Wert eintragen

Wenn man von 24 auf 12 ändert, soll der vorher eingegebene Wert gelöscht werden.

Danke nochmal
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
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.

die Änderung sollte nicht von
24 auf 12 Monate
sondern
"Gewährleistungsdauer 12 Monate"

Gruß Hajo
0 Punkte
Beantwortet von
HEy Hajo,

habs genau so gemacht. Und exakt deinen VB-Test so eingefügt.
Aber s geht net :-(

Der Wert in D56 bleibt stehen wenn man von 24 auf 12 Monate Gewährleistungsdauer wechselt.... :-(
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Bei mir geht es. Deine Datei sehe ich nicht.

Gruß Hajo
0 Punkte
Beantwortet von
Hm
und nun :-(

Ne Idee wie ich das noch hinkrieg?

Danke nochmal und Grüße
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
verlinke Deine Datei.

Von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Der Dateiname sollte was mit dem Problem zu tun haben.
Ich habe mir z.B. einen Ordner angelegt in dem ich alle Dateien aus dem Internet speichere. Bei Dateinamen wie Test..., Mappe…, Beispiel… wird eine vorhandene überschrieben.

Gruß Hajo
0 Punkte
Beantwortet von
Wo soll ichs hochladen oder verlinken das dus ziehen kannst???
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
DropBox hast Du nicht?

http://www.uploadagent.de/index.php

Gruß Hajo
0 Punkte
Beantwortet von
HEy,
hab ne vergleichbare Excel hochgeladen. DAs Original darf ich leider nicht, Datenschutz...
Aber die Funktion is in dieser Excel die gleiche, kann sie dann übernehmen (vlt kleine Beschreibung wie es gespeichert werden muss oder so....)

http://www.uploadagent.de/show-195647-1404814137.html

Dank dir schon mal vielmals
...