Excel 2016 VBA: Mehrzeilige Werte in einer Zelle verarbeiten
#1
Music 
Hallo zusammen und schönen guten Abend,

ist es möglich aus mehrzeiligen Zellen, also Zellen mit Zeilenumbruch, bestimmte Werte auszulesen um sie weiter zu verarbeiten?
Ich bekomme Daten z.B. in der dargestellten Form....und ich darf keine zusätzlichen Zeilen einfügen um die Inhalte aufzusplitten.
Es können auch abweichend von dem Beispiel noch mehr als zwei Zeilenumbrüche sein.

GHI
1010038 x 07.04.2015
37 x 13.04.2015
25 x 12.05.2015
100

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Wie kann man die ersten Zahlen in Zelle "H10" bis zu dem "x" oder des Leerzeichens auslesen und automatisch in der dritten Spalte, hier "I10" als Gesamtsumme berechnen?
Gibt es da vielleicht eine Lösung mittels VBA oder Formel?

Vielen Dank für eine Rückmeldung!
Top
#2
Hallo,


wenn die Zellen immer mit den gleichen Kombinationen (Zeichenanzahl) gefüllt sind, dann so:



Arbeitsblatt mit dem Namen 'Tabelle1'
 BC
138 x 07.04.2015
37 x 13.04.2015
25 x 12.05.2015
100

ZelleFormel
C1{=SUMMENPRODUKT((TEIL(B1;(ZEILE(A1:INDEX(A:A;LÄNGE(B1)-LÄNGE(WECHSELN(B1;"x";""))))-1)*16+1;2))*1)}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • sharky51
Top
#3
Hallo,

und hier eine VBA Lösung:


Code:
Sub test()
 a = Split(Cells(10, 8), Chr(10))
 For i = LBound(a) To UBound(a)
   Cells(10, 9) = Cells(10, 9) + Val(Split(a(i), " x")(0))
 Next i
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • sharky51
Top
#4
Hallo Edgar,

leider habe ich es nicht in der Hand dass die Kombinationen (Zeichenanzahl) immer gleich sind.
Ich bin nicht Herr der Daten-Einträge.

Ich habe Deine Formel mal ausprobiert...funktioniert in der Konstellation perfekt.

Vielen Dank!
Top
#5
Hallo Atilla,

danke auch Dir...das Makro funktioniert super.

Wie ich bereits bemerkt habe könnte es sein dass irgendwelche andere Zeichen als Trenner von der jeweils links stehenden Zahl vorkommen.
Gäbe es noch eine Lösung um das trotzdem funktionssicher zu machen? Eventuell auch eine erzwungenes Eingabeformat in der Datenspalte?
Top
#6
Hallo Sharky,

das ist mir gar nicht aufgefallen, es ist nämlich viel einfacher.

Die Funktion Val() gibt den ersten numerischen Wert aus.

Also unabhängig welche Zeichen den Zahlen folgen geht es so:


Code:
Sub test()
 a = Split(Cells(10, 8), Chr(10))
 For i = LBound(a) To UBound(a)
   Cells(10, 9) = Cells(10, 9) + Val(Split(a(i))(0))
 Next i
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • sharky51
Top
#7
Hallo Atilla,

super cool...das ist perfekt!
Jetzt ist das WE erst mal gerettet  Thumps_up

Vielen Dank!
Top


Gehe zu:


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