Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler 1004,

Fehler 1004,
30.03.2015 13:40:01
Benjamin
Fehler 1004: Die Select Methode des Range Objekts konnte nicht ausgeführt werden.
Liebe Leute,
bei folgendem Makro bekomme ich die oben gennante Fehlermeldung. Ziel des Makros ist es alle in einem bestimmten Ordner liegenden .html Dateien mit dem Makro in eine andere Form zu bringen.
Das hat auch mal funktioniert, tut es jetzt aber nicht mehr. Warum?
#
viele Grüße Benjamin
Sub SCHRITT_1_DatenBlaetterUmorganisieren()
'//deklarationen
Dim strFileName As String
Dim objWorkbook As Workbook
Dim i As Long, j As Integer
' Bildschirmaktualisierung AUSschalten (Makro läuft schneller, Bildschirm flackert nicht) _
Application.ScreenUpdating = False
'//Errorhandler initialisieren
On Error GoTo err_exit
'//erste Excelmappe suchen - Ordner anpassen !!!
strFileName = Dir$("C:\Users\Benjamin\Desktop\BOCHUM UT EXCEL TEST ZIEL\*.html*", vbNormal)
'//wenn eine Excelmappe gefunden wurde
If strFileName  "" Then
'//Schleife starten
Do
'//Excelmappe öffnen
Set objWorkbook = Workbooks.Open(Filename:=strFileName)
'//Hier kommt jetz dein Code
ActiveWindow.SmallScroll Down:=3
Range("B25").Select
Selection.Copy
Range("E22").Select
ActiveSheet.Paste
Range("B27").Select
Application.CutCopyMode = False
Selection.Copy
Range("F22").Select
ActiveSheet.Paste
Range("B29:B31").Select
Application.CutCopyMode = False
Selection.Copy
Range("G22").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("23:57").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=-36
Rows("1:21").Select
Range("A21").Activate
Selection.Delete Shift:=xlUp
Range("C15").Select
'//Excelmappe schließen - ohne zu speichern = False / mit speichern = True
objWorkbook.Close SaveChanges:=True
'//nächste Excelmappe suchen
strFileName = Dir$
'//wird keine Mappe mehr gefunde Schleife verlassen
Loop Until strFileName = ""
' Bildschirmaktualisierung EINschalten (nicht vergessen)
Application.ScreenUpdating = True
End If
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & vbLf & _
Err.Description, vbCritical, "Fehlermeldung"
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler 1004,
30.03.2015 13:44:17
Hajo_Zi
select ist nicht notwendig.
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Option Explicit
Sub SCHRITT_1_DatenBlaetterUmorganisieren()
'//deklarationen
Dim strFileName As String
Dim objWorkbook As Workbook
Dim i As Long, j As Integer
' Bildschirmaktualisierung AUSschalten (Makro läuft schneller, Bildschirm flackert nicht) _
Application.ScreenUpdating = False
'//Errorhandler initialisieren
On Error GoTo err_exit
'//erste Excelmappe suchen - Ordner anpassen !!!
strFileName = Dir$("C:\Users\Benjamin\Desktop\BOCHUM UT EXCEL TEST ZIEL\*.html*", vbNormal)
'//wenn eine Excelmappe gefunden wurde
If strFileName  "" Then
'//Schleife starten
Do
'//Excelmappe öffnen
Set objWorkbook = Workbooks.Open(Filename:=strFileName)
'//Hier kommt jetz dein Code
Range("B25").Copy Range("E22")
Range("B27").Copy Range("F22")
Range("B29:B31").Copy
Range("G22").PasteSpecial Paste:=xlPasteAll
Rows("23:57").Delete Shift:=xlUp
Rows("1:21").Delete Shift:=xlUp
Range("C15").Select
'//Excelmappe schließen - ohne zu speichern = False / mit speichern = True
objWorkbook.Close SaveChanges:=True
'//nächste Excelmappe suchen
strFileName = Dir$
'//wird keine Mappe mehr gefunde Schleife verlassen
Loop Until strFileName = ""
' Bildschirmaktualisierung EINschalten (nicht vergessen)
Application.ScreenUpdating = True
End If
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & vbLf & _
Err.Description, vbCritical, "Fehlermeldung"
End Sub

Anzeige
AW: Fehler 1004,
30.03.2015 13:46:49
Hajo_Zi
select ist nicht notwendig.
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Option Explicit
Sub SCHRITT_1_DatenBlaetterUmorganisieren()
'//deklarationen
Dim strFileName As String
Dim objWorkbook As Workbook
Dim i As Long, j As Integer
' Bildschirmaktualisierung AUSschalten (Makro läuft schneller, Bildschirm flackert nicht) _
Application.ScreenUpdating = False
'//Errorhandler initialisieren
On Error GoTo err_exit
'//erste Excelmappe suchen - Ordner anpassen !!!
strFileName = Dir$("C:\Users\Benjamin\Desktop\BOCHUM UT EXCEL TEST ZIEL\*.html*", vbNormal)
'//wenn eine Excelmappe gefunden wurde
If strFileName  "" Then
'//Schleife starten
Do
'//Excelmappe öffnen
Set objWorkbook = Workbooks.Open(Filename:=strFileName)
'//Hier kommt jetz dein Code
Range("B25").Copy Range("E22")
Range("B27").Copy Range("F22")
Range("B29:B31").Copy
Range("G22").PasteSpecial Paste:=xlPasteAll
Rows("23:57").Delete Shift:=xlUp
Rows("1:21").Delete Shift:=xlUp
Range("C15").Select
'//Excelmappe schließen - ohne zu speichern = False / mit speichern = True
objWorkbook.Close SaveChanges:=True
'//nächste Excelmappe suchen
strFileName = Dir$
'//wird keine Mappe mehr gefunde Schleife verlassen
Loop Until strFileName = ""
' Bildschirmaktualisierung EINschalten (nicht vergessen)
Application.ScreenUpdating = True
End If
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & vbLf & _
Err.Description, vbCritical, "Fehlermeldung"
End Sub

Anzeige
AW: Fehler 1004,
30.03.2015 14:02:06
Benjamin
Vielen Dank,
jetzt kommt leider folgende Fehlermeldung
Userbild
Wenn ich die Dateien einzelen öffne, die im Zielordner liegen, dann funktionert der Befehl der ab
'//Hier kommt jetz dein Code anfängt einwandfrei.
Auch die in der Fehlermeldung genannte erste Datei ist korrekt benannt.
Wo liegt der Fehler?
Grüße

AW: Fehler 1004,
30.03.2015 14:10:37
Hajo_Zi
an dem open Teil habe ich nichts geändert. Ist mir jedenfalls nicht bewusst passiert.
Gruß Hajo

Anzeige
AW: Fehler 1004,
30.03.2015 14:16:14
Benjamin
Oder vielleicht ist es andersherum ja einfacher zu lösen.
Ich benötige einfach einen Befehl, der auf mehrere hundert .html Dateien in einem Ordner dieses Makro anwendet. Eine Datei nach der anderen soll bearbeitet werden.
Grüße
MAKRO1 LÖSCHEN ALLER ÜBERFLÜSSIGENZEILEN
Sub Makro7()
' Makro7 Makro
'           Range("B25").Copy Range("E22")
Range("B27").Copy Range("F22")
Range("B29:B31").Copy
Range("G22").PasteSpecial Paste:=xlPasteAll
Rows("23:57").Delete Shift:=xlUp
Rows("1:21").Delete Shift:=xlUp
Range("C15").Select
End Sub

Anzeige
AW: Fehler 1004,
30.03.2015 15:04:36
Rudi
Hallo,
teste mal
Sub SCHRITT_1_DatenBlaetterUmorganisieren()
'//deklarationen
Dim strFileName As String
Dim objWorkbook As Workbook
Dim i As Long, j As Integer
'// Ordner in dem gesucht wird
Const strPfad As String = "C:\Users\Benjamin\Desktop\BOCHUM UT EXCEL TEST ZIEL\"
' Bildschirmaktualisierung AUSschalten (Makro läuft schneller, Bildschirm flackert nicht) _
Application.ScreenUpdating = False
'//Errorhandler initialisieren
On Error GoTo err_exit
'//erste Datei suchen - Ordner anpassen !!!
strFileName = Dir$(strPfad & "*.html*", vbNormal)
'//wenn eine Datei gefunden wurde
If strFileName  "" Then
'//Schleife starten
Do
'//Datei öffnen
Set objWorkbook = Workbooks.Open(Filename:=strPfad & strFileName)
'//Hier kommt jetz dein Code
Range("B25").Copy Range("E22")
Range("B27").Copy Range("F22")
Range("B29:B31").Copy
Range("G22").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
Rows("23:57").Delete shift:=xlUp
Rows("1:21").Delete shift:=xlUp
'//Datei schließen - ohne zu speichern = False / mit speichern = True
objWorkbook.Close SaveChanges:=True
'//nächste Datei suchen
strFileName = Dir$
'//wird keine Mappe mehr gefunde Schleife verlassen
Loop Until strFileName = ""
' Bildschirmaktualisierung EINschalten (nicht vergessen)
Application.ScreenUpdating = True
End If
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & vbLf & _
Err.Description, vbCritical, "Fehlermeldung"
End Sub
Gruß
Rudi

Anzeige
AW: Fehler 1004,
30.03.2015 15:27:08
Benjamin
Hallo Rudi,
da passiert schon irgendwas. Wennich mit F8 das Makro durchgehe, dann werden auch jeweils nacheinenader die Dateien im Zielordner aufgerufen. Es werden aber in den Dateien keine Änderungen gespeichert.
Grüße

AW: Fehler 1004,
30.03.2015 15:31:16
Benjamin
Sorry mein Fehler, Funktioniert einwandfrei!

AW: Fehler 1004,
30.03.2015 15:41:52
Benjamin
Super das klappt. Jetzt habe ich in einem Ordner n Excel Mappen liegen mit jeweils einer Zeile Inhalt A1:I1.
Diese Zeilen würde ich nun gerne in einer Mappe zusammenfassen mit n Zeilen.
Wie geht das denn nun wieder? ich habe da folgendes Makro ausgegraben
Sub sb1000Files()
Dim lstrFile As String, lstrPath As String, wksMutter As Worksheet, lloNext As Long
Application.ScreenUpdating = False
lstrPath = "C:\Users\Benjamin\Desktop\BOCHUM UT EXCEL TEST ZIEL \"
lstrFile = Dir(lstrPath & "*html")
Set wksMutter = ThisWorkbook.Sheets(1)
lloNext = 1
Do Until lstrFile = ""
Workbooks.Open lstrPath & lstrFile
Sheets(1).Range("A1:I1").Copy wksMutter.Range("A" & lloNext)
ActiveWorkbook.Close False
lloNext = wksMutter.Cells(Rows.Count, 1).End(xlUp).Row + 1
lstrFile = Dir
Loop
Set wksMutter = Nothing
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige