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

Makro funktioniert auf Excel 2010 nicht mehr

Makro funktioniert auf Excel 2010 nicht mehr
Benni
Hallo zusammen,
seit dem Wechsel von Excel 2000 auf 2010 funktioniert mein Makro nicht mehr. Mit diesem Makro werden alle txt-Dateien in Excel importiert. Beim debuggen wird die letzte Zeile markiert:
ActiveWorkbook.Worksheets(1).Move Before:=wbkZiel.Worksheets(1)
Kann mir jemand von Euch helfen?
Hier noch das ganze Makro:

Sub DateiMehrfachAuswahl()
Dim vntPathAndFileNames As Variant
Dim lngI As Long
Dim wbkZiel As Workbook
Set wbkZiel = ActiveWorkbook
'Importfunktion
vntPathAndFileNames = Application.GetOpenFilename( _
fileFilter:="Text Files (*.txt), *.txt", _
Title:="Bitte wählen Sie die zu ladende Datei/en aus!", _
MultiSelect:=True)
If VarType(vntPathAndFileNames) = vbBoolean Then
MsgBox "Sie haben abgebrochen."
Else
For lngI = 1 To UBound(vntPathAndFileNames)
Workbooks.OpenText Filename:=vntPathAndFileNames(lngI), _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=False, _
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
DecimalSeparator:=".", _
ThousandsSeparator:="," 'Dezimaltrennzeichen von Punkt in Komma geändert
ActiveWorkbook.Worksheets(1).Move Before:=wbkZiel.Worksheets(1)
Next
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro funktioniert auf Excel 2010 nicht mehr
17.10.2011 14:16:30
guentherh
Mit der Zeile des Abbruchs alleine lässt sich wenig anfangen, deshalb ein paar ergänzende Fragen.
mit welcher Fehlermeldung wird das Makro abgebrochen?
Falls das Makro bis zur genannten Zeile läuft, müsste ja die erste Datei in eine neue Mappe importiert worden sein, richtig?
Was passiert, wenn das Blatt mit dem Import per Maus in die ursprüngliche Datei gezogen wird (das wäre der Zweck des Move-Befehls)?
Ist die Datei mit dem Makro noch ein altes Format, und wird im "Kompatibilitätsmodus" geöffnet?
Gruß,
Günther
AW: Makro funktioniert auf Excel 2010 nicht mehr
17.10.2011 14:38:19
fcs
Hallo Benni,
ich habe die gleiche Vermutung wie Günther.
Deine Zieldatei ist im alten Excelformat (2003 oder älter), die Textdateien werden aber im neuen Excelformat als Tabelle geöffnet.
Wegen der anderen Zeilen/Spaltenzahl können die Tabellenblätter mit den Textdatei-Daten dann nicht in die Datei im alten Format verschoben werden.
Die folgenden Ergänzungen in deinem Makro werten den Fehler aus und kopieren die Daten in der Ziel-Datei in ein neues Blatt, statt das Blatt zu verschieben.
Gruß
Franz

Sub DateiMehrfachAuswahl()
Dim vntPathAndFileNames As Variant
Dim lngI As Long
Dim wbkZiel As Workbook
Dim wksZiel As Worksheet, wksText As Worksheet, intFehler As Integer
On Error GoTo Fehler
Set wbkZiel = ActiveWorkbook
'Importfunktion
vntPathAndFileNames = Application.GetOpenFilename( _
fileFilter:="Text Files (*.txt), *.txt", _
Title:="Bitte wählen Sie die zu ladende Datei/en aus!", _
MultiSelect:=True)
If VarType(vntPathAndFileNames) = vbBoolean Then
MsgBox "Sie haben abgebrochen."
Else
For lngI = 1 To UBound(vntPathAndFileNames)
Workbooks.OpenText Filename:=vntPathAndFileNames(lngI), _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=False, _
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
DecimalSeparator:=".", _
ThousandsSeparator:="," 'Dezimaltrennzeichen von Punkt in Komma geändert
intFehler = 1
ActiveWorkbook.Worksheets(1).Move Before:=wbkZiel.Worksheets(1)
GoTo Weiter02
Weiter01:
Set wksText = ActiveSheet
Set wksZiel = wbkZiel.Worksheets.Add(Before:=wbkZiel.Worksheets(1))
wksText.UsedRange.Copy wksZiel.Cells(1, 1)
wksZiel.Name = wksText.Name
wksText.Activate
ActiveWorkbook.Close savechanges:=False
Weiter02:
Next
End If
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 1004
If intFehler = 1 Then
'Tabellen nicht kompatibel für Verschieben
intFehler = 0
Resume Weiter01
Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End If
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Makro funktioniert auf Excel 2010 nicht mehr
18.10.2011 06:44:33
Benni
Hallo Franz,
deine Vermutung war richtig, mit deinem geändertem Makro funktioniert es wieder.
Vielen Dank
Grüße
Benni

334 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige