Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellausdruck aufspalten.

Zellausdruck aufspalten.
24.01.2006 20:10:51
Gabor
Hallo liebe Helfer,
in Zelle D1 steht D:\ordner_001\ordner_o2\Interpret\Titel.mp3 und in
Zelle A2 soll der Teil vor dem letzten "\" (also in diesem Fall Interpret) in
Zelle B2 der Teil hinter dem letzten "\" und vor dem "." ( in disem Fall Titel) stehen.
Ich habe schon mit =rechts, =links probiert - komme aber zu keinem richtigen Ergebnis.
Danke für jede Hilfe

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellausdruck aufspalten.
24.01.2006 20:38:46
Josef
Hallo Gabor!
geht bestimmt um einiges kürzer.
Tabelle1
 ABCD
1D:\ordner_001\ordner_o2\Interpret\Titel.mp3 InterpretTitel
2D:\ordner_001\ordner_o2\Interpret1\Titel2.mp3 Interpret1Titel2
3D:\ordner_001\Interpret2\Titel3.mp3 Interpret2Titel3
4D:\ordner_001\ordner_o2\ordner_03\Interpret3\Titel4.mp3 Interpret3Titel4
5D:\Interpret\Titel5.mp3 InterpretTitel5
6D:\ordner_001\ordner_o2\ordner_03\ordner_04\Interpret\Titel6.mp3 InterpretTitel6
Formeln der Tabelle
C1 : =TEIL(WECHSELN(A1;"\"&D1;"");FINDEN("#";WECHSELN(WECHSELN(A1;"\"&D1;"");"\";"#";LÄNGE(WECHSELN(A1;"\"&D1;""))-LÄNGE(WECHSELN(WECHSELN(A1;"\"&D1;"");"\";""))))+1;LÄNGE(WECHSELN(A1;"\"&D1;""))-FINDEN("#";WECHSELN(WECHSELN(A1;"\"&D1;"");"\";"#";LÄNGE(WECHSELN(A1;"\"&D1;""))-LÄNGE(WECHSELN(WECHSELN(A1;"\"&D1;"");"\";""))))-4)
D1 : =TEIL(A1;FINDEN("#";WECHSELN(A1;"\";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))+1;LÄNGE(A1)-FINDEN("#";WECHSELN(A1;"\";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))-4)
C2 : =TEIL(WECHSELN(A2;"\"&D2;"");FINDEN("#";WECHSELN(WECHSELN(A2;"\"&D2;"");"\";"#";LÄNGE(WECHSELN(A2;"\"&D2;""))-LÄNGE(WECHSELN(WECHSELN(A2;"\"&D2;"");"\";""))))+1;LÄNGE(WECHSELN(A2;"\"&D2;""))-FINDEN("#";WECHSELN(WECHSELN(A2;"\"&D2;"");"\";"#";LÄNGE(WECHSELN(A2;"\"&D2;""))-LÄNGE(WECHSELN(WECHSELN(A2;"\"&D2;"");"\";""))))-4)
D2 : =TEIL(A2;FINDEN("#";WECHSELN(A2;"\";"#";LÄNGE(A2)-LÄNGE(WECHSELN(A2;"\";""))))+1;LÄNGE(A2)-FINDEN("#";WECHSELN(A2;"\";"#";LÄNGE(A2)-LÄNGE(WECHSELN(A2;"\";""))))-4)
C3 : =TEIL(WECHSELN(A3;"\"&D3;"");FINDEN("#";WECHSELN(WECHSELN(A3;"\"&D3;"");"\";"#";LÄNGE(WECHSELN(A3;"\"&D3;""))-LÄNGE(WECHSELN(WECHSELN(A3;"\"&D3;"");"\";""))))+1;LÄNGE(WECHSELN(A3;"\"&D3;""))-FINDEN("#";WECHSELN(WECHSELN(A3;"\"&D3;"");"\";"#";LÄNGE(WECHSELN(A3;"\"&D3;""))-LÄNGE(WECHSELN(WECHSELN(A3;"\"&D3;"");"\";""))))-4)
D3 : =TEIL(A3;FINDEN("#";WECHSELN(A3;"\";"#";LÄNGE(A3)-LÄNGE(WECHSELN(A3;"\";""))))+1;LÄNGE(A3)-FINDEN("#";WECHSELN(A3;"\";"#";LÄNGE(A3)-LÄNGE(WECHSELN(A3;"\";""))))-4)
C4 : =TEIL(WECHSELN(A4;"\"&D4;"");FINDEN("#";WECHSELN(WECHSELN(A4;"\"&D4;"");"\";"#";LÄNGE(WECHSELN(A4;"\"&D4;""))-LÄNGE(WECHSELN(WECHSELN(A4;"\"&D4;"");"\";""))))+1;LÄNGE(WECHSELN(A4;"\"&D4;""))-FINDEN("#";WECHSELN(WECHSELN(A4;"\"&D4;"");"\";"#";LÄNGE(WECHSELN(A4;"\"&D4;""))-LÄNGE(WECHSELN(WECHSELN(A4;"\"&D4;"");"\";""))))-4)
D4 : =TEIL(A4;FINDEN("#";WECHSELN(A4;"\";"#";LÄNGE(A4)-LÄNGE(WECHSELN(A4;"\";""))))+1;LÄNGE(A4)-FINDEN("#";WECHSELN(A4;"\";"#";LÄNGE(A4)-LÄNGE(WECHSELN(A4;"\";""))))-4)
C5 : =TEIL(WECHSELN(A5;"\"&D5;"");FINDEN("#";WECHSELN(WECHSELN(A5;"\"&D5;"");"\";"#";LÄNGE(WECHSELN(A5;"\"&D5;""))-LÄNGE(WECHSELN(WECHSELN(A5;"\"&D5;"");"\";""))))+1;LÄNGE(WECHSELN(A5;"\"&D5;""))-FINDEN("#";WECHSELN(WECHSELN(A5;"\"&D5;"");"\";"#";LÄNGE(WECHSELN(A5;"\"&D5;""))-LÄNGE(WECHSELN(WECHSELN(A5;"\"&D5;"");"\";""))))-4)
D5 : =TEIL(A5;FINDEN("#";WECHSELN(A5;"\";"#";LÄNGE(A5)-LÄNGE(WECHSELN(A5;"\";""))))+1;LÄNGE(A5)-FINDEN("#";WECHSELN(A5;"\";"#";LÄNGE(A5)-LÄNGE(WECHSELN(A5;"\";""))))-4)
C6 : =TEIL(WECHSELN(A6;"\"&D6;"");FINDEN("#";WECHSELN(WECHSELN(A6;"\"&D6;"");"\";"#";LÄNGE(WECHSELN(A6;"\"&D6;""))-LÄNGE(WECHSELN(WECHSELN(A6;"\"&D6;"");"\";""))))+1;LÄNGE(WECHSELN(A6;"\"&D6;""))-FINDEN("#";WECHSELN(WECHSELN(A6;"\"&D6;"");"\";"#";LÄNGE(WECHSELN(A6;"\"&D6;""))-LÄNGE(WECHSELN(WECHSELN(A6;"\"&D6;"");"\";""))))-4)
D6 : =TEIL(A6;FINDEN("#";WECHSELN(A6;"\";"#";LÄNGE(A6)-LÄNGE(WECHSELN(A6;"\";""))))+1;LÄNGE(A6)-FINDEN("#";WECHSELN(A6;"\";"#";LÄNGE(A6)-LÄNGE(WECHSELN(A6;"\";""))))-4)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Zellausdruck aufspalten.
24.01.2006 21:00:46
Gabor
Sepp - das funktioniert ja super - und das in der Zeit.
Ich stelle meine Fragen immer so wie jetzt und baue sie danach in ein makro ein. Starte dem rekorder und schreibe die Formel in die jeweilige Zelle - so verstehe ich den VBA Code besser.
Geht das auch schneller als die ganze Formel während der Aufzeichnung einzugeben, weil wenn man sich verschreibt - sieht man den Fehler schlecht.
Sonst vielen Dank für die schnelle Antwort.
AW: Zellausdruck aufspalten.
24.01.2006 22:04:34
Josef
Hallo Gabor!
Formel zuerst eingeben, Rekorder starten F2 drücken (in der Zelle mit der Formel) &gt Enter &gt Fertig.
Aber, wenn du die Formel per VBA einträgst, dann könnte man ja gleich den Pfad
mit VBA auflösen!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Zellausdruck aufspalten.
25.01.2006 17:57:37
Gabor
Die kürzere von beiden Formeln kann ich so in VBA einfügen, bei der längeren Formel (die in C) kommt die Fehlermeldung "Kann nicht aufzeichnen".
Was meinst du mit "wenn du die Formel per VBA einträgst, dann könnte man ja gleich den Pfad
mit VBA auflösen!" ?
Ich möchte die Formel auf jeden Fall per VBA in die Zelle schreiben und danach nach unten übertragen.
mit .......
Range("C2:D2").Select
Selection.AutoFill Destination:=Range("C2:D" & Cells(Rows.Count, 1).End(xlUp).Row), Type:=xlFillDefault
Danke für deine Geduld.
AW: Zellausdruck aufspalten.
25.01.2006 18:06:55
Josef
Hallo Gabor!
Damit meine ich, das anstatt die Formel in dei Zellen zu schreiben,
kann man gleich den String in die Zellen schreiben!
Warum der Umweg über die Formeln?
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Zellausdruck aufspalten.
25.01.2006 20:14:48
Gabor
Ich denke VBA macht doch auch nichts anderes wie wenn man die Formel in die Zelle schreibe.
Bei der Formel in D
(=TEIL(WECHSELN(A1;"\"&D1;"");FINDEN("#";WECHSELN(WECHSELN(A1;"\"&D1;"");"\";"#";
LÄNGE(WECHSELN(A1;"\"&D1;""))-LÄNGE(WECHSELN(WECHSELN(A1;"\"&D1;"");"\";""))))
+1;LÄNGE(WECHSELN(A1;"\"&D1;""))-FINDEN("#";WECHSELN(WECHSELN(A1;"\"&D1;"");"\";"#";
LÄNGE(WECHSELN(A1;"\"&D1;""))-LÄNGE(WECHSELN(WECHSELN(A1;"\"&D1;"");"\";""))))-4)
)
kommt folgender Code raus:
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=MID(RC[-3],FIND(""#"",SUBSTITUTE(RC[-3],""\"",""#"",LEN(RC[-3])-LEN(SUBSTITUTE
(RC[-3],""\"",""""))))+1,LEN(RC[-3])-FIND(""#"",SUBSTITUTE
(RC[-3],""\"",""#"",LEN(RC[-3])-LEN(SUBSTITUTE(RC[-3],""\"",""""))))-4)"
Die Formel in C bekomme ich aber nicht einfach so reinkopiert (Formel zuerst eingeben, Rekorder starten F2 drücken (in der Zelle mit der Formel) &gt Enter &gt Fertig).
Wie gesagt Excel bringt da die Fehlermeldung "Kann nicht aufzeichnen" und die Formel wird ignoriert. Wie bekomme ich die von dir erstellte Formel in den Code übertragen.
Anzeige
AW: Zellausdruck aufspalten.
25.01.2006 20:56:05
Josef
Hallo Gabor!
Angenommen deine dateien stehen in Spalte "D" ab Zeile 2.
Dieser Code schreibt dir in Spalte "A" den Interpreten und in Spalte "B" den Titel!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub ExtraktData()
Dim lngRow As Long, lngLast As Long
Dim strTmp As String
Dim objFSO As Object

Set objFSO = CreateObject("Scripting.FileSystemObject")

With Sheets("Tabelle1") 'Tabellenname! - Anpassen!
  
  lngLast = .Cells(Rows.Count, 4).End(xlUp).Row
  
  For lngRow = 2 To lngLast 'Start in Zeile 2! Zeile 1 Überschrift!
    If InStr(1, .Cells(lngRow, 4), "\") > 0 Then
      .Cells(lngRow, 2) = objFSO.GetBasename(.Cells(lngRow, 4))
      strTmp = objFSO.GetParentFolderName(.Cells(lngRow, 4))
      strTmp = Right(strTmp, InStr(1, StrReverse(strTmp), "\") - 1)
      .Cells(lngRow, 1) = strTmp
    End If
  Next
  
End With

Set objFSO = Nothing

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Zellausdruck aufspalten.
25.01.2006 22:11:14
Gabor
Sepp - ich bin beeindruckt das makro läuft wie gewünscht und möchte den Thread jetzt beenden.
Gabor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige