Moin zusammen, ich habe folgendes Problem. :22: In eine Zelle meiner Excel-Tabelle wird ein beliebiger Wert (z.b. 3,5) eingegeben. Dieser Wert soll automatisch im Hintergrund mit dem Wert 1,943 multipliziert werden, sodass NUR das Produkt der beiden Werte in dieser Zelle gezeigt wird. In dieser Zelle müsste also der Wert 6,8005 erscheinen. Hintergrund: Es werden Windwerte in Knoten eingegeben werden und es sollen aber Windwerte in M/Sekunde in der Zelle abgebildet/ausgedruckt werden. Meine Software: Ecxel 2007 und Windows 7 Hier im Forum habe ich leider nichts finden können
wenn sich das alles in einer Zelle abspielen soll, ist das wohl nur mit einem Makro lösbar, wobei ich dir nicht helfen kann. Solltest du eine Formellösung bevorzugen, solltest du eine Spalte anlegen, in der das Ergebnis berechnet wird.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:1 Nutzer sagt Danke an WillWissen für diesen Beitrag 28 • Ahnungslos
warum eigentlich nicht in einer separaten Zelle ??
Na gut, das ganze ist ein simpler OnChange Event. Kopiere das Ganze in das Makroblatt der Tabelle, wo die Knoten reinkommen. In der 3. Zeile muß noch der Bereich definiert werden, in welche Zellen Knoten eingetragen werden dürfen (Derzeit C1:C3, aber das ist bei dir bestimmt anderster).
Achja, Knoten müssen immer am Ende ein K haben, sonst funktionierts nicht. (Diese Einschränkung verhindert ungewollte Mehrfachberechnung)
Code:
Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range, c As Range, s As String, d As Double, p As Long Set r = Intersect(Target, [c1:c5]) If (r Is Nothing) Then Exit Sub
For Each c In r.Cells s = c.Value If UCase(Right(s, 1)) = "K" Then p = InStr(s, ","): If (p > 0) Then Mid(s, p, 1) = "." d = Val(Left(s, Len(s) - 1)) If d <> 0 Then c.Value = d * 1.943 End If Next End Sub
Folgende(r) 1 Nutzer sagt Danke an mmat für diesen Beitrag:1 Nutzer sagt Danke an mmat für diesen Beitrag 28 • Ahnungslos
21.06.2019, 15:34 (Dieser Beitrag wurde zuletzt bearbeitet: 21.06.2019, 16:24 von Ahnungslos.)
WOW, ihr seid absolute Spitze! Ich werde das gleich mal ausprobieren. Und sogar mit einer Anleitung wie und wo ich es reinkopieren soll, einfach fantastisch Danke, :18: danke, :18: danke :18: Ich glaube ich mache da doch noch etwas falsch? Ich habe mal einen screenshot von der Fehlermeldung gemacht und als Anlage beigefügt. Die Zellen in denen ich den jeweiligen Wert dann geändert eingefügt haben möchte sind "G 13 bis G18" Das ist das was ich im Syntax zur Probe auf G13 geändert hatte. Ich hatte es in der Zelle sowie in der Tabelle eingefügt. Beides funktioniert leider nicht
Du hast den Code nicht vollständig 'rüberkopiert. Hier im Forum erscheint der in einem Fenster in dem man scrollen kann. Unten fehlen noch ein paar Zeilen.
Folgende(r) 1 Nutzer sagt Danke an mmat für diesen Beitrag:1 Nutzer sagt Danke an mmat für diesen Beitrag 28 • Ahnungslos
21.06.2019, 17:30 (Dieser Beitrag wurde zuletzt bearbeitet: 21.06.2019, 17:38 von Ahnungslos.)
Ahhh, ja jetzt sehe ich es, sorry. End Sub hatte ich zwar auch schon da drunter eingefügt, aber das was dann noch fehlte leider nicht. Das kommt wenn man es mal eben so zwischendurch machen möchte :19: Nochmals vielen Dank :18: Oh man. Der Code läuft durch, aber es tut sich leider nichts. :22: Wenn ich eine Zahl in die Zelle eingebe, bleibt sie auch genau so und wird nicht berechnet.
ich habe mir die gesamte Konversation von gestern noch einmal wieder durchgesehen, aber leider nichts gefunden wodran ich sehen kann was ich falsch gemacht habe. Ich komme einfach nicht weiter :22: @mmat: Was ich genau gemacht habe könnt Ihr anhand der hier beigefügten Tabelle selbst mal sehen und mir vielleicht meinen Fehler zeigen?