ich bin noch sehr neu in der VBA Welt und habe bisher alles einigermaßen hinbekommen, das folgende übersteigt aber meine googlefähigkeiten!
In meiner Tabelle steht in Spalte H eine Länge, eine Fläche oder ein Gewicht. In Spalte J steht der preis pro kg, pro qm oder pro m. Dabei stehen auch immer die jeweiligen einheiten.
In meiner Zelle die gefüllt werden soll (Spalte F) möchte ich die Zahlen aus Spalte H (ohne einheit) x die Zahl aus Spalte J (auch ohne einheit) rechnen. Ich möchte das aber nicht in der kompletten spalte F machen, sondern nur in der Zelle in der ich gerade bin.
Also z.b. ist die größe 2,3 m², der preis pro qm ist 0,95 €/m² und ich möchte =2,3 * 0,95 rechnen. Habt ihr mein Problem verstanden? Und habt ihr eine Lösung dafür? Ich wäre euch super dankbar!
Ganz einfache Lösung: Spar dir VBA und schreibe die Einheit in eine eigene Spalte. Deine bisherige Vorgehensweise ist einfach unsinnig und erschwert nur das Leben. Spalte J kannst du von mir aus als Währung formatieren, dass der Preis pro Einheit gilt ist dann ja wohl logisch. Und schreib nicht unbedingt 45 min sondern 0,75 h.
Mhm ja, das könnte man durchaus machen, das Problem ist nur, dass meine Tabelle ca. 1200 Zeilen hat, die zu 70% schon gefüllt sind, weil ich da immer stück für stück neue prozesse bekommen habe. Jetzt sind es relativ schnell deutlich mehr zeilen geworden bei denen spalte f noch ausgefüllt werden muss und ich hatte gehofft das etwas automatisieren zu können. Außerdem arbeiten mehrere Leute an dem Dokument, sodass die das dann auch nochmal machen müssten. aber wenn es nicht geht, dann werde ich es händisch machen.
Okay, ich werde mich mal ran setzten, vllt mache ich es so, dass ich die neuen daten erst auftrenne und ausrechne und dann die daten wieder zusammenfüge
Also es funktioniert noch nicht so ganz, er trennt meine zahl nach einem komma, egal ob ich einen Punkt oder ein Komma als trennung habe. Ich hab leider nicht so viel mit den formeln gearbeitet, als das ich wüsste, an welcher stelle ich da jetzt drehen kann. und ich habe leider auch keine festen nachkommastellen, das ändert sich von zelle zu zelle...
Hab den fehler gefunden, das problem ist nur, dass ich jetzt ja für alle zellen die formel bearbeiten muss, wenn ich unterschiedlich viele zahlen habe. also wenn ich in der einen zelle 0,12 habe und in der nächsten 1,2345 muss ich ja die formel ändern.. geht das auch anders?
04.06.2018, 22:10 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2018, 22:10 von MisterBurns.)
Gut, probieren wir was anderes. Welche Einheiten hast du denn? Können ja eigentlich nicht soviele sein, oder? Ich gehe mal anhand deiner Beispieldatei von m, m², kg, h und min aus. Dann kannst du so vorgehen:
2Hilfsspalten (in deinem Beispiel Spalte I und J) 1. Spalte
Die beiden Spalten kopieren und als Werte einfügen, damit du feste Werte hast.
In der Spalte mit dem Preis je Einheit entfernst du die Einheit, indem du die Spalte komplett markierst und dann Strg+H drückst. Es öffnet sich das Suchen/Ersetzen-Fenster. Gib bei "Suchen nach" den Wert " €*" (ohne die Anführungszeichen, jedoch inkl. Leerzeichen vor dem Eurosymbol) ein. Bei "Ersetzen durch" gibst du nichts ein. Dann auf Alle ersetzen klicken. Damit wurden die Einheiten gelöscht.
Wie bereits weiter oben erwähnt - arbeite entweder immer mit Stunden oder immer mit Minuten. Dementsprechend muss dann auch der Preis pro Einheit durchgehend €/h oder €/min sein. Alles andere ergibt nur Fehler.