Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Unterstrich entfernen!

Forumthread: Unterstrich entfernen!

Unterstrich entfernen!
09.04.2013 21:38:10
Lemmi
Hallo zusammen,
ich möchte ein Verzeichnis "bereinigen"
Ich möchte die Namen eines selektierten Verzeichnisses und desssen Unterverzeichnisse formatieren. Ich möchte alle Unterstriche ab dem 6 Zeichen entfernen.
z. B. (alt)
01_002 Haus
02_001 Maus
03_005 Klaus_mit_der Maus .... es ist der Unterstrich nach Klaus und mit zu entfernen
(neu)
03_005 Klaus mit der Maus
Gruß
Lemmi

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Unterstrich entfernen!
09.04.2013 21:43:37
Rudi
Hallo,
wenn du das willst, dann mach's doch.
Gruß
Rudi

AW: Unterstrich entfernen!
09.04.2013 21:52:31
Lemmi
Hallo rudi,
danke für Deinen Tipp, ...ich habe wohl vergessen, dass ich Verzeichnisse stänig bereinigen muss um ein anderes Makro, welches die Dateinamen ausliest ans laufen zu bekommen.
Natürlich ist nicht nur ein Verzeichnis vorhanden... und natürlich mache ich das nicht nur einmal am Tag.
...also benötige ich im besten Fall ein Makro!
Gruß
Lemmi

Anzeige
AW: Unterstrich entfernen!
10.04.2013 10:18:18
Rudi
Hallo,
will mal nicht so sein.
Sub RenameFolder()
Dim oFS As Object, oFolder As Object
Dim sFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then sFolder = .SelectedItems(1)
End With
If sFolder  "" Then
Set oFS = CreateObject("Scripting.filesystemobject")
Set oFolder = oFS.getfolder(sFolder)
RenameSubFolder oFolder
If Len(oFolder.Name) > 6 Then
Name oFolder As _
Left(oFolder.Name, 6) _
& Replace(Mid(oFolder.Name, 7), "_", " ")
End If
End If
End Sub

Sub RenameSubFolder(oFolder As Object)
Dim oSubFolder As Object
For Each oSubFolder In oFolder.subfolders
RenameSubFolder oSubFolder
If Len(oSubFolder.Name) > 6 Then
Name oSubFolder As _
oFolder.Path & "\" _
& Left(oSubFolder.Name, 6) _
& Replace(Mid(oSubFolder.Name, 7), "_", " ")
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: Unterstrich entfernen!
10.04.2013 13:05:14
Lemmi
Hallo Rudi,
ich habe das Makro ausprobiert und bekomme einen Laufzeitfehler !75! gemeldet.
(Fehler beim Zugriff auf Pfad/Datei)
Ich möchte ggf. meine Fagestelleung erweitern/ergänzen!
Wäre es möglich, das auch die Dateinamen auf den Unterstrich geprüft werden?
Also benötige ich nicht nur Verzeichnis-, Unterverzeichnis namen sonder auch die Dateinmaen.
Gruß
Lemmi

Anzeige
AW: Unterstrich entfernen!
10.04.2013 13:25:12
Rudi
Hallo,
Fehler: Es darf sich natürlich keines der Objekte im Zugriff befinden (offene Dateien) oder sich dur das Umbenennen doppelte Dateinamen bilden.
Teste mal:
Sub RenameSubFolder(oFolder As Object)
Dim oSubFolder As Object, oFile As Object
For Each oSubFolder In oFolder.subfolders
For Each oFile In oFolder.Files
If Len(oFile.Name) > 6 Then
Name oFile As oFile.Path _
& "\" & Left(oFile.Name, 6) _
& Replace(Mid(oFile.Name, 7), "_", " ")
End If
Next
RenameSubFolder oSubFolder
If Len(oSubFolder.Name) > 6 Then
Name oSubFolder As _
oFolder.Path & "\" _
& Left(oSubFolder.Name, 6) _
& Replace(Mid(oSubFolder.Name, 7), "_", " ")
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: Unterstrich entfernen!
10.04.2013 17:00:57
Lemmi
Hallo Rudi,
jetzt hat es geklappt!
Die Verzeichnissse und deren Unterverzeichniss haben den Unterstrich nicht mehr!
Lieder führt er dies nicht an den Dateinnamen durch.
Könntest Du vieleicht das Makro noch so anpassen, das auch die Dateien (Dateinamen) angepasst werden.
Dateien sind Bilder /Word /Excel etc.
Gruß
Lemmi
Gruß
Lemmi

Anzeige
AW: Unterstrich entfernen!
10.04.2013 18:58:30
Lemmi
Hallo Rudi,
...ich habe noch etwas vergessen! Sorry!
Nach dem Probeeinastz des Makros in einigen Testverzeichnissen, ist mir aufgefallen das das Leerzeichen ab und an an der 7 Stelle fehlt. Dies benötige ich unbedingt.
01_002Leerzeichen fehlt (alt9)
01_002 Leerzeichen fehlt nicht (an Stelle 7 fehlt das Leezeichen nicht mehr)
Kann das Makro auch dies prüfen und bei Bedarf einbringen?
Gruß
Lemmi

Anzeige
kein Bock mehr
11.04.2013 00:05:45
Rudi
machs selbst
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Unterstrich in Excel entfernen und umbenennen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Modul für dein VBA-Makro.

  2. Kopiere und füge den folgenden Code in dein Modul ein:

    Sub RenameFolder()
       Dim oFS As Object, oFolder As Object
       Dim sFolder As String
       With Application.FileDialog(msoFileDialogFolderPicker)
           If .Show = -1 Then sFolder = .SelectedItems(1)
       End With
       If sFolder <> "" Then
           Set oFS = CreateObject("Scripting.filesystemobject")
           Set oFolder = oFS.getfolder(sFolder)
           RenameSubFolder oFolder
           If Len(oFolder.Name) > 6 Then
               Name oFolder As Left(oFolder.Name, 6) & Replace(Mid(oFolder.Name, 7), "_", " ")
           End If
       End If
    End Sub
    
    Sub RenameSubFolder(oFolder As Object)
       Dim oSubFolder As Object
       For Each oSubFolder In oFolder.subfolders
           RenameSubFolder oSubFolder
           If Len(oSubFolder.Name) > 6 Then
               Name oSubFolder As oFolder.Path & "\" & Left(oSubFolder.Name, 6) & Replace(Mid(oSubFolder.Name, 7), "_", " ")
           End If
       Next
    End Sub
  3. Führe das Makro aus, indem du im VBA-Editor auf "Run" klickst oder die Tastenkombination F5 verwendest.

  4. Wähle das Verzeichnis aus, das du bereinigen möchtest. Das Makro entfernt alle Unterstriche ab dem 6. Zeichen aus den Ordnernamen.


Häufige Fehler und Lösungen

  • Fehler 75: Zugriff auf Pfad/Datei: Stelle sicher, dass keine Dateien in den zu bearbeitenden Ordnern geöffnet sind. Das Makro kann nicht auf Objekte zugreifen, die in Verwendung sind.
  • Doppelte Dateinamen: Achte darauf, dass die Umbenennung nicht zu doppelten Namen führt, da dies ebenfalls einen Fehler auslösen kann.

Alternative Methoden

  • Excel-Funktionen: Eine Alternative zur Verwendung von VBA ist die Formel =WECHSELN(A1; "_"; " "), um Unterstriche in einer Zelle durch Leerzeichen zu ersetzen. Diese Methode kann jedoch nicht auf Ordner oder Dateien angewendet werden.
  • Power Query: Verwende Power Query, um Daten zu transformieren und Unterstriche zu entfernen. Lade die Daten in Power Query, führe eine Ersetzung durch und lade die bereinigten Daten zurück in Excel.

Praktische Beispiele

  • Beispiel 1: Wenn du einen Ordner mit dem Namen 01_002_Haus hast, wird er nach der Ausführung des Makros in 01_002 Haus umbenannt.
  • Beispiel 2: Ein Unterordner namens 02_001_Maus wird zu 02_001 Maus.

Tipps für Profis

  • Makros automatisieren: Du kannst das Makro so einrichten, dass es automatisch beim Öffnen einer Excel-Datei ausgeführt wird. Nutze dazu das Workbook_Open-Ereignis.
  • Backup der Dateien: Erstelle vor der Verwendung des Makros eine Sicherungskopie deiner Daten, um Datenverlust zu vermeiden.
  • Anpassungen vornehmen: Passe den Code an, um auch Dateinamen zu ändern. Überprüfe den Code, um sicherzustellen, dass auch die Dateinamen von Bildern, Word-Dokumenten und Excel-Dateien korrekt behandelt werden.

FAQ: Häufige Fragen

1. Wie bekomme ich den Unterstrich in Excel weg?
Du kannst das VBA-Makro verwenden, um Unterstriche aus Verzeichnis- und Dateinamen zu entfernen.

2. Kann ich das Makro auch in Word verwenden?
Ja, du kannst ähnliche VBA-Codes in Word verwenden, um Unterstriche aus Text zu entfernen. Siehe dafür Word unterstrich entfernen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige