VBA, Zellen multiplizieren
#1
Hallo Leute,

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!

LG seb-korn
Top
#2
bitte mach eine Beispieldatei!!
Top
#3
Mir ist beim erstellen der Datei ein weiteres Problem aufgefallen, das hab ich in der Datei selbst noch kurz beschrieben.


Angehängte Dateien
.xlsx   Beispieldatei.xlsx (Größe: 10,04 KB / Downloads: 4)
Top
#4
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.
Schöne Grüße
Berni
Top
#5
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.
Top
#6
Ich sehe dabei kein Problem. Füge deine Hilfsspalte ein und arbeite mit diesen Formeln, um die Spalten aufzuteilen:

Generelles zu Textfunktionen: http://www.herber.de/excelformeln und bitte suchen .../formeln.html?gruppe=2
Speziell für dich: http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=100

Es lohnt sich, einmal den Aufwand anzugehen.
Schöne Grüße
Berni
Top
#7
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
Top
#8
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...
Top
#9
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?
Top
#10
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

Code:
=WENN(RECHTS(H3;1)="²";"m²";WENN(RECHTS(H3;1)="m";"m";WENN(RECHTS(H3;1)="g";"kg";WENN(RECHTS(H3;1)="h";"h";"min"))))


2. Spalte

Code:
=--LINKS(H3;LÄNGE(H3)-LÄNGE(I3))


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.
Schöne Grüße
Berni
Top


Gehe zu:


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