Registriert seit: 05.02.2018
Version(en): MSOffice 2007
30.03.2018, 17:03
Hey Leute , und zwar verarbeite ich per VBA eine Excel Tabelle damit sie in eine WaWi importiert werden kann. Jetzt habe ich das Problem das die Bilder etwa wie folgt angegeben sind: Sollen aber ( und wurden vorher immer per Hand ) in folgendes Format gebracht werden. Es sind auch nicht immer gleich lange Ordner namen oder Datei namen , es kann also auch so vorkommen: Dachte zuerst einfach irgendwie die ersten 5 Zeichen löschen ( wo ich auch nicht weiß wie das geht :s ) aber es kommen auch andere Ordner vor Gibt es eine Möglichkeit alles bis bzw inklusive zum Letzten "/" zu löschen ?
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo Code: =TEIL(A2;6;999) =ERSETZEN(A2;1;5;"")
Oder als Oneliner in Power Query: Code: let WithoutFolders = Table.SelectColumns(Table.SplitColumn(Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content], "Bild", Splitter.SplitTextByDelimiter("/", QuoteStyle.Csv), {"Temp.1", "Temp.2", "Temp.3", "Bild"}),{"Bild"}) in WithoutFolders
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
@ shift-del ... das wird gewiss noch einige Zeit dauern, bis OO ein Äquivalent zum Power Query integriert. Vorher wäre dann ja gewiss LO dran.
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 05.02.2018
Version(en): MSOffice 2007
30.03.2018, 18:32
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2018, 18:34 von TheHydrogena.
Bearbeitungsgrund: Version
)
(30.03.2018, 17:39)shift-del schrieb: Hallo
Code: =TEIL(A2;6;999) =ERSETZEN(A2;1;5;"")
Oder als Oneliner in Power Query:
Code: let WithoutFolders = Table.SelectColumns(Table.SplitColumn(Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content], "Bild", Splitter.SplitTextByDelimiter("/", QuoteStyle.Csv), {"Temp.1", "Temp.2", "Temp.3", "Bild"}),{"Bild"}) in WithoutFolders
Danke Aber so wie ich das erkenne Löscht er jetzt nur 1-5 ? das passt zwar für viele Fälle, aber nicht für alle. Geht ja eher darum das alles vor dem letzten "/" gelöscht wird ? ich hab das ganze jetzt in Excel 2007 in Visual Basic Code, also den Modulen stehen. Das was du geschrieben hast sieht nicht passend dafür aus EDIT: Sorry hatte wohl noch drinne stehen das ich Open Office benutze, habe für dieses Anliegen aber auf Excel gewechselt. Bin aber nicht ganz so reif was PowerQuery angeht ? falls mich jemand aufklären könnte ? Gruß
Registriert seit: 14.04.2014
Version(en): 2003, 2007
30.03.2018, 18:34
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2018, 18:45 von atilla.)
Hallo, Unten ein Beispielcode: Code: Sub test() With Cells(1, 1) Debug.Print Mid(.Value, InStrRev(.Value, "/") + 1) End With End Sub
Vor zwei Tagen gab es schon mal eine ähnliche Anfrage hier, schau da auch mal rein. Nachtrag: Code ausgetauscht, da Replace nicht nötig.
Gruß Atilla
Registriert seit: 12.04.2014
Version(en): Office 365
(30.03.2018, 18:32)TheHydrogena schrieb: das passt zwar für viele Fälle, aber nicht für alle. Und diese Fälle sind geheim oder wie? (30.03.2018, 18:32)TheHydrogena schrieb: EDIT: Sorry hatte wohl noch drinne stehen das ich Open Office benutze, habe für dieses Anliegen aber auf Excel gewechselt. Bin aber nicht ganz so reif was PowerQuery angeht ? falls mich jemand aufklären könnte ? http://www.clever-excel-forum.de/thread-14899.html
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
Nun ja, Eggcel 2007 ist zwar eine deutliche Verbesserung gegenüber OO aber es reicht leider immer noch nicht für Power Query. :22:
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 05.02.2018
Version(en): MSOffice 2007
(30.03.2018, 18:40)shift-del schrieb: Und diese Fälle sind geheim oder wie?
http://www.clever-excel-forum.de/thread-14899.html nein, die habe ich doch oben rein gestellt :) war darauf bezogen wenn z.B die Ordnernamen länger als 5 Zeichen sind Dann würde er ja bei manchen die richtige menge an Zeichen abschneiden, aber bei Fällen in denen 6 Zeichen weg müssten würde einer über bleiben, daher die Frage mit dem " Alles löschen bis zum letzten '/' " PowerQuery gucke ich mir gleich eben an, aber wie es scheint bin ich mit Office 2007 eh zu alt dafür :s
Registriert seit: 05.02.2018
Version(en): MSOffice 2007
(30.03.2018, 18:34)atilla schrieb: Hallo,
Unten ein Beispielcode:
Code: Sub test() With Cells(1, 1) Debug.Print Mid(.Value, InStrRev(.Value, "/") + 1) End With End Sub
Vor zwei Tagen gab es schon mal eine ähnliche Anfrage hier, schau da auch mal rein.
Nachtrag: Code ausgetauscht, da Replace nicht nötig. Danke der Artikel war gut , jetzt schneidet er natürlich genau das raus was ich haben möchte :22: muss ich dann das InStrRev weglassen ? aber wenn Windows Excel standardmäßig von rechts nach links sucht müsste das doch richtig so rum sein oder häng ich irgendwo fest ? Von der Idee her ganz gut das von rechts aus zu machen, aber kann man den Weggeschnittenen Part auch irgendwo speichern oder in eine Andere Zeile Setzten ? das Würde das Problem lösen das er anstatt das Letzte "/" von Links suchen muss einfach das erste von Rechts nimmt Das .Value beinhaltet ja nur das, was eigentlich weg kann ( Deshalb auch das Range("A2") , wollt wissen was im .Value ist) Code: Sub abc() Dim rngCell As Range For Each rngCell In Selection With rngCell .Value = Left(.Value, InStrRev(.Value, "/") - 1) Range("A2").Value = .Value End With Next rngCell End Sub
Registriert seit: 12.04.2014
Version(en): Office 365
(31.03.2018, 03:00)TheHydrogena schrieb: nein, die habe ich doch oben rein gestellt :) war darauf bezogen wenn z.B die Ordnernamen länger als 5 Zeichen sind Du hast drei konkrete Beispiele genannt. Bei allen funktionieren die Formeln.
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
|