AW: Ein kleines Problem
20.09.2008 17:39:22
Daniel
Hi
also bei deinem Kenntniststand wird ne Makro-Lösung da schwierig, da fehlen dann doch ein paar grundlagen.
daher hier ne Formellösung für dein Problem:
1. Trage diese Formel in die Zelle A4 ein und kopiere sie bis zum Ende deiner Tabelle nach unten.
=WENN(UND(LINKS(E4;1)="B";NICHT(ISTFEHLER(FINDEN("-";E4))));LINKS(E4;FINDEN("-";E4)-2)&".0"; WENN(B4="";A3;LINKS(A3;FINDEN(".";A3))&RECHTS(A3;1)+1))
2. Markiere Spalte A, klicke KOPIEREN und INHALTE EINFÜGEN - WERTE
3. zum löschen der überflüssigen Zeilen markierst du Spalte B (ganze Spalte) und setzt den Autofilter.
dann filterst du in Spalte B nach leeren Zellen und löschst in Spalte A die sichtbaren Zellen.
als Makro würde diese dann so aussehen:
Sub test()
With Range(Cells(2, 1), Cells(Rows.Count, 2).End(xlUp).Offset(0, -1))
.NumberFormat = "General"
.FormulaR1C1 = "=IF(AND(LEFT(RC[4],1)=""B"",NOT(ISERROR(FIND(""-"",RC[4])))),LEFT(RC[4], _
FIND(""-"",RC[4])-2)&"".0"",IF(RC[1]="""",R[-1]C,LEFT(R[-1]C,FIND(""."",R[-1]C))&RIGHT(R[-1]C,1)+1))"
.Formula = .Value
.Offset(0, 1).SpecialCells(xlCellTypeBlanks).Offset(0, -1).ClearContents
End With
End Sub
wobei hier das Löschen der überflüssigen Werte etwas anders gelöst ist (im Prinzip über BEARBEITEN - GEHE ZU - INHALTE - LEERZELLEN, aber das mit dem Offest funktioniert nur in VBA)
allerdings solltest du maximal 9 unterpunkte haben, sollte es mehr werden, wird die Formel komplizierter, da der Unterpunkt dann mehrstellig sein kann, das ist momentan noch nicht berücksichtigt.
Gruß, Daniel