Registriert seit: 05.02.2018
Version(en): MSOffice 2007
30.03.2018, 16: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, 17:32
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2018, 17:34 von TheHydrogena.
Bearbeitungsgrund: Version
)
(30.03.2018, 16: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, 17:34
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2018, 17: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, 17: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, 17: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, 17: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, 17: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, 02: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.
|