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.

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!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten 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
Antworten 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
Antworten 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!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten 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?
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten 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
Antworten Top
#7
Hallo Atilla,

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

Vielen Dank!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top


Gehe zu:


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