3.8k Aufrufe
Gefragt in Tabellenkalkulation von woenni Einsteiger_in (75 Punkte)
Beispiel: In einer Spalte stehen untereinander Zahlen, Texte und Kombination aus Zahl und Text. Bei Kombination steht zuerst immer die Zahl. Entsprechend sind unterschiedliche Aktionen erforderlich. Wenn in der Spalte eine Zahl steht, muß diese ausgeschnitten und in eine andere Spalte übertragen werden, in der dann nur Zahlen stehen. Gleichzeitig muß die Zahl aus der ursprünglichen Zelle entfernt werden, damit in dieser Spalte nur noch Text steht. Wenn nur Text in der Spalte steht ist folglich nichts zu tun.
Im Klartext:
Spalte enthält:
123 Muster
Muster ohne Zahl
456
Daraus sollen zwei Spalten werden:
Spalte A Spalte B
123 Muster
Muster ohne Zahl
456
Es wäre toll, wenn ich das mit einem Makro oder einer Formel lösen könnte, denn es geht um ein paar 100 Einträge die korrigiert werden müssen.

14 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

weshalb soll denn im Else-Teil nun plötzlich die betreffende Zelle geleert werden? Genau das macht dein geänderter Code im Else-Zweig nämlich. Bei meinem Ursprungscode wurde dann, wenn das 1. Zeichen von links nicht numerisch ist (also keine Zahl), im Else-Zweig der Zellinhalt in die Nachbarspalte geschrieben - alles so wie in deiner Anfangs-Aufgabenstellung.

Sub Betragsfelderaufbereiten()
'
' Betragsfelderaufbereiten Makro
' In den Quelldaten steht bei negativen Betragsfeldern das Minuszeichen hinten d.h. rechts.
' Gültige Werte müssen das Minuszeichen jedoch vor der bzw. links der Zahl haben.
'
' Tastenkombination: Strg+Umschalt+A
'
Dim lngZeile As Long
' von Zeile 11 bis zur lettzen belegzen Zeile in Spalte L
For lngZeile = 11 To IIf(IsEmpty(Cells(Rows.Count, 12)), Cells(Rows.Count, 12).End(xlUp).Row, Rows.Count)
' wenn 1. Zeichen der laufenden Zelle in Spalte L von links numerisch ist
If IsNumeric(Left(Cells(lngZeile, 12), 1)) Then
' 12 Zeichen von links in laufende Zelle zurückschreiben
Cells(lngZeile, 12) = Left(Cells(lngZeile, 12), 12)
' andernfalls - also wenn 1. Zeichen nicht numerisch ist
Else
' Zellinhalt löschen
Cells(lngZeile, 12) = "" ' ???? Weshalb sollen die Inhalte gelöscht werden?
End If
' Zellinhalt Spalte L in Zahl umwandeln
If Cells(lngZeile, 12) <> 0 Then Cells(lngZeile, 12) = Cells(lngZeile, 12) * 1
' Zellinhalt Spalte M in Zahl umwandeln
If Cells(lngZeile, 13) <> 0 Then Cells(lngZeile, 13) = Cells(lngZeile, 13) * 1
Next lngZeile
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von woenni Einsteiger_in (75 Punkte)
Hallo Karin,

vielen Dank für DeineGeduld, Deine Erklärung und Ergänzung des Makros. Natürlich sollen die Inhalte nicht gelöscht werden. Die Änderung, die ich dort gemacht habe beruht auf meiner Fehlinerpretation des Statements, das ich so gelesen habe: Wenn das 1. Zeichen nicht numerisch ist, wird der Wert aus Spalte A in die Betragsspalte übertragen und wollte mit meiner Änderung hier erreichen, daß nichts übertragen wird.

Ich habe Dein wunderbares Makro gerade (unverändert) ausprobiert. Es funktioniert alles, paßt alles. Ich bin sehr, sehr glücklich! Du hast mich nicht nur verstanden, sondern mir auch kurz, knapp und präzise ohne viel"Federlesens" geholfen. Das finde ich einfach Spitze und super.

Gleichzeitig bin ich bei meiner Aufgabe auf ein neues Problem gestossen. Es hat mit der Übernahme der Daten aus PDF zu tun. Dabei gibt es irgendwelche Überlagerungen mit Textboxen, die mich bisher vor unlösbare Rätsel stellen. Darf / kann ich mich mit diesem Problem auch an Dich wenden? Wenn ja, über einen neuen Thread?
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

einen neuen Thread musst du auf jeden Fall eröffnen, da es ja ein völlig anderes Thema ist. Ob ich dir bei der Lösung des Problems helfen kann, weiß ich nicht, da ich das genaue Problem nicht kenne. Aber bestimmt wird sich ein(e) Helfer(in) finden, der/die dich unterstüzen wird.

Bis später,
Karin
0 Punkte
Beantwortet von woenni Einsteiger_in (75 Punkte)
Hallo Karin,

ich habe versucht mein aktuelles Problem mit der Übernahme der PDF-/ Worddaten nach Excel unter der Überschrift "Daten aus PDF Datei nach Excel 2007 übernehmen" zu schildern. Wenn Du mal einen Blick drauf wirfst fände ich das prima. Vielleicht hattest Du ja schon mal eine ähnliche Aufgabenstellung.

LG und Dank
Wönni
...