folgendes Problem:
Ich möchte *.dbf-Dateien in *.xls-Dateien speichern.
Im Moment lese ich den Dateinamen aus, füge .xls an und speicher es wieder ab. Die Datei lautet dann allerdings *.dbf.xls
Wie bekomme ich nun das .dbf da raus?
Danke
Gruß
Nico
Sub test()
Dim dateialt As String
Dim dateineu As String
dateialt = "test.dbf"
dateineu = Left(dateialt, Len(dateialt) - 4) & ".xls"
MsgBox dateineu
End Sub
Um die Endungen von Dateinamen in Excel zu entfernen, kannst Du VBA verwenden. Folge diesen Schritten:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Wähle im Menü „Einfügen“ die Option „Modul“.
Kopiere den folgenden VBA-Code in das Modul:
Sub test()
Dim dateialt As String
Dim dateineu As String
dateialt = "test.dbf" ' Hier den alten Dateinamen angeben
dateineu = Left(dateialt, Len(dateialt) - 4) & ".xls" ' Entferne die .dbf-Endung
MsgBox dateineu ' Zeigt den neuen Dateinamen an
End Sub
Ändere dateialt
in den Namen der Datei, die Du konvertieren möchtest.
Führe das Skript aus, indem Du auf „F5“ drückst.
Jetzt wird der neue Dateiname ohne die Endung .dbf
angezeigt, und stattdessen erhältst Du die Endung .xls
.
Problem: Die Datei wird immer noch mit der Endung .dbf.xls
gespeichert.
Left(dateialt, Len(dateialt) - 4)
entfernt die letzten vier Zeichen.Problem: Fehlermeldung beim Ausführen des Codes.
Wenn Du keinen VBA-Code verwenden möchtest, kannst Du die Endungen auch manuell in Excel entfernen:
=LINKS(A1; LÄNGE(A1)-4) & ".xls"
in einer neuen Spalte, um die Endung zu entfernen (ersetze A1
durch die Zelle mit dem Dateinamen).Angenommen, Du hast folgende Dateinamen in Spalte A:
A |
---|
test1.dbf |
test2.dbf |
test3.dbf |
Verwende die Formel in Spalte B:
=LINKS(A1; LÄNGE(A1)-4) & ".xls"
Das Ergebnis wird in Spalte B wie folgt aussehen:
B |
---|
test1.xls |
test2.xls |
test3.xls |
FileDialog
-Objekt in VBA, um den Benutzer die Dateien auswählen zu lassen, die konvertiert werden sollen.1. Kann ich die Endung auch für andere Dateiformate entfernen?
Ja, Du kannst die Anzahl der zu entfernenden Zeichen anpassen, um andere Dateiformate zu konvertieren. Ändere einfach den Wert in Len(dateialt) - X
, wobei X
die Länge der Endung ist.
2. Funktioniert dieser Code in allen Excel-Versionen? Der VBA-Code sollte in den meisten Versionen von Excel ab 2007 funktionieren. Achte darauf, die Makros zu aktivieren, um den Code auszuführen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen