Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

einen manuell eingegebenen Wert durch eine Formelberechnung ersetzen
#11
(18.11.2014, 18:33)Castor schrieb: Da es immer günstig sein kann, wenn der eingegebene Wert erhalten bleibt, Männer,würde ich dafür plädieren, den eingegebenen Wert per _Change-Ereignis­prozedur in die genannte Formel einzubetten. So kann man auch später noch sehen, was gemacht wurde (außerdem lässt sich das auch wieder rückgängig machen).

das ist ein sehr guter Vorschlag. Das stört mich auch immer, daß ansonsten der ursprüngliche Wert weg ist.
Antworten Top
#12
(16.11.2014, 21:00)WillWissen schrieb:
(16.11.2014, 20:50)hw-nordheim schrieb: Hallo an Alle !

ich führe eine Jahrestabelle, in der ich meine monatlichen Kosten aufführe und den jeweiligen Gesamtwert durch Formeln errechnen lasse. Jetzt habe ich das Problem, dass ich in einer Zelle die Telefonkosten monatlich eintrage, diese Kosten jedoch nur als Nettowert habe ! Für die Aufrechnung benötige ich jedoch die Bruttokosten. Wie kann ich in einer Zelle den Nettowert eingeben, jedoch so, dass beim Verlassen der Zelle dieser Wert durch den Bruttowert ersetzt wird.
z.Bsp.: 25,56 € Netto *1,19 = 30,42 € Brutto (Das muss jedoch in ein und der selben Zelle stattfinden !!
Gibt es da überhaupt eine Lösung ? Vielleicht hat ja Jemand eine bessere Idee ?

Hi,

das ist wohl nur mit VBA möglich.

Ich habe dir mal etwas zusammengebastelt (hier Zelle A1). Der Code gehört hinter das entspechende ARbeitsblatt. Eintrag in die Zelle manuell, danach Doppelklick.

Code:
Option Explicit

Private Sub Worksheet_BeforedoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Application.Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
    Target.Value = Target.Value * 1.19
    Cancel = True

End Sub

ich finde Deine Idee gut, aber in meinem Fall muss ich es auf mehrere Zellen anwenden können und ich weiß nicht wie ! Wenn ich Deinen Code für die Zelle "D55" einsetze, funktioniert es in dieser Zelle mit Doppelklick hervorragend. Was muss ich aber tun, damit ich den gleichen Effekt mit anderen Beträgen bei den Zellen D56 bis O59 habe ?
Antworten Top
#13
Code:
Option Explicit

Private Sub Worksheet_BeforedoubleClick(ByVal Target As Range, Cancel As Boolean)
If Application.Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
Target.Value = Target.Value * 1.19
Cancel = True

End Sub

ich finde die Idee gut, aber in meinem Fall muss ich es auf mehrere Zellen anwenden können und ich weiß nicht wie !
Wenn ich den Code für die Zelle "D55" einsetze, funktioniert es in dieser Zelle mit Doppelklick hervorragend. Was muss ich aber tun, damit ich den gleichen Effekt mit anderen Beträgen bei den Zellen D56 bis O59 habe ?
Antworten Top
#14
Hallo,

ich würde dir empfehlen von dieser Idee Abstand zu nehmen - irgendwann klickst du auf eine nicht gewünschte Zelle oder eine Zelle mehrfach und ratzfatz stehen da, vemrutlich sogar ohne dass es auffällt, falsche und zu hohe Werte in der Zelle.

Die sinnvolle Alternative wäre hier tatsächlich mit Hilfsspalten zu arbeiten (und diese dann bei Bedarf auszublenden):

Arbeitsblatt mit dem Namen 'Tabelle2'
 ABC
1NettoSteuerBrutto
21000100
31007107
410019119

ZelleFormel
C2=A2+(A2*B2/100)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Aber wenn du das unbedingt mit Doppelklick machen willst dann könntest du es so probieren:

Code:
Private Sub Worksheet_BeforedoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Application.Intersect(Target, Range("D55:O59")) Is Nothing Then Exit Sub
    Target.Value = Target.Value * 1.19
    Cancel = True

End Sub
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • hw-nordheim
Antworten Top
#15
Hallo Peter !

erst einmal tausend Dank ! Ich glaube ich werde wohl tatsächlich auf die versteckten Zellen zurück greifen.

Gruß Herbert
Antworten Top
#16
Hallo Castor !

Sorry ! wenn ich Dich mit meiner banalen Anfrage gelangweilt habe. Leider habe ich scheinbar nicht dein Niveau !
Ich hoffe Du kannst in Zukunft über meine Fragen hinweg sehen.
Ach ja: Was Du vor Jahren geschrieben hast, weiß ich leider nicht !

Ich hoffe Du kommst bei deinem interessanten Problem zu einem Erfolg.

Gruß
Antworten Top
#17
Hallo zusammen,

noch ein allgemeiner Hinweis:
Wenn das Ganze doch mit Makros gelöst werden müsste, dann ist die Wahl mit dem Doppelklick Ereignis hier eher ungeeignet.
So wie die Anfrage gestellt ist, soll nach Eingabe in die Zelle etwas passieren.
Das heißt der Zellinhalt ändert sich nach der Eingabe erst mal. Dann ist dafür das bessere Ereignis das Worksheet_Change Ereignis. Ich weiß jetz nicht, ob in dem genannten Bereich D55:O59 generell umgerechnet werden soll, wenn ja, dann ginge es mit dem unten stehenden Makro:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Application.Intersect(Target, Range("D55:O59")) Is Nothing Then
      Application.EnableEvents = False
      If Target <> "" Then
         If IsNumeric(Target.Text) Then Target.Value = Target.Value * 1.19
      End If
      Application.EnableEvents = True
   End If
End Sub

Der Code gehört hinter das Tabellenblatt und regiert automatisch auf Eingaben im genannten Bereich.
Gruß Atilla
Antworten Top


Gehe zu:


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