Hot News:

Unser Angebot:

  Foren auf CAD.de
  Excel
  Laufzeitfehler 1004 nur bei Excel2000

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Laufzeitfehler 1004 nur bei Excel2000 (2085 mal gelesen)
Elchkuh123
Mitglied


Sehen Sie sich das Profil von Elchkuh123 an!   Senden Sie eine Private Message an Elchkuh123  Schreiben Sie einen Gästebucheintrag für Elchkuh123

Beiträge: 3
Registriert: 18.05.2008

erstellt am: 15. Jun. 2008 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Folgendes Makro läuft nur auf Excel 2003, aber nicht auf Excel 2000.

Zur Sicherheit kopiere ich mal das ganze Makro und schreibe gesondert den Teil, der als Fehler markiert wurde(beim debuggen).

Code:
Code:Sub Formular_erstellen()
    '
    ' Tastenkombination: Strg+q
    '

    If MsgBox("Achtung Sie sind dabei das Formular NEU zu erstellen !" & vbCrLf & _
        "Wollen Sie das Wirklich?", vbYesNo + 16, "Hinweis") = vbYes Then


        Dim Verzeichnis As String
        Dim file_name As String
        Dim act_File_Name As String
        Dim len_act_File_Name As String
        Dim Endung_act_File_Name As String
        Dim savename_act_File_Name As String
        Dim aa As Long
        Dim Länge_Blatt As Long
     
        aa = 1
     
        Verzeichnis = Sheets("Damen").Range("N4")
        file_name = Sheets("Damen").Range("D2") & "," & Sheets("Damen").Range("D3") & ".xls"
        act_File_Name = ThisWorkbook.Name
        len_act_File_Name = Len(act_File_Name)
        Endung_act_File_Name = Right(act_File_Name, 3)
        savename_act_File_Name = Verzeichnis & file_name
     
        ActiveSheet.Unprotect
        Range("A6:Z6000").Select
        Selection.AutoFilter Field:=1, Criteria1:="j"
        Cells.Select
        Selection.Copy
        Sheets("Bericht").Select
        ActiveWindow.SmallScroll ToRight:=-3
        Range("H7:K1535").Select
        Application.CutCopyMode = False
        ActiveSheet.Unprotect
        Range("A1").Select
        Sheets("Damen").Select
        Selection.Copy
        Sheets("Bericht").Select
        Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("Damen").Select
        Selection.AutoFilter Field:=1
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowFiltering:=True
                     
        Sheets("Formular").Select
         
        For aa = 13 To 65000
     
            If Range("A" & aa) <> 0 Then
                aa = aa + 6
            Else
                Länge_Blatt = aa - 1
                aa = 65000
            End If
         
        Next aa
             
        ActiveSheet.PageSetup.PrintArea = "$A$1:$P$" & Länge_Blatt
         
        Sheets("Formular").Select
         
        If Endung_act_File_Name <> "xls" Then
     
            ActiveWorkbook.SaveAs Filename:= _
            savename_act_File_Name, FileFormat:= _
            xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
            , CreateBackup:=False
     
        End If
     
    End If
         
    End Sub


Die Fehlermeldung an sich ist folgende:

Code:
Code:ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
            , AllowFiltering:=True

Hier erhalte ich die Fehlermeldung Laufzeitfehler 1004.

Ich würde mich freuen, wenn ihr mir schnell helfen könnt.

Mit freundlichen Grüßen,

Elchkuh123

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing. / Supporter



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3921
Registriert: 29.09.2004

Excel 2010
128GB SSD
Windows 7

erstellt am: 15. Jun. 2008 09:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Elchkuh123 10 Unities + Antwort hilfreich

Hallo Elchkuh123,

Die Fehlermeldung welche kommt, hab auch Excel 2000, sagt "Anwendungs- oder objektdefinierter Fehler".

Die Option "AllowFiltering:=True" kennt das Excel 2000 nicht, weshalb eine Fehlermeldung
ausgegeben wird.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Elchkuh123
Mitglied


Sehen Sie sich das Profil von Elchkuh123 an!   Senden Sie eine Private Message an Elchkuh123  Schreiben Sie einen Gästebucheintrag für Elchkuh123

Beiträge: 3
Registriert: 18.05.2008

erstellt am: 15. Jun. 2008 10:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

das habe ich jetzt auch bemerkt.

Ich wollte es jetzt mit diesem Befehl machen:

With ActiveSheet
  If Val(Application.Version) > 9 Then
    .Protect userInterfaceOnly:=True, AllowFiltering:=True
  Else
    .EnableAutoFilter = True
    .Protect userInterfaceOnly:=True
  End If
End With

So wurde bereits einem User geholfen, der diesen Befehl vorher nutzte:

With ActiveSheet
.EnableAutoFilter = True
.Protect userInterfaceOnly:=True
End With


Allerdings ist in meinem ursprünglichen Code kein .Protect UserInterfaceOnly:=True vorhanden  und es wird auch nicht durch With Activesheet eingeleitet.

Könnte mir jemand den Bereich

Code:
If Val(Application.Version) > 9 Then
AllowFiltering:=True
Else
.Enable Autofilter = True
passend in meinen Code einbinden, der mit

Code:
ActiveSheet. Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True
beginnt ? Also statt des AllowFiltering den neuen Code.


Mit freundlichen Grüßen,

Elchkuh123

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8086
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 15. Jun. 2008 11:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Elchkuh123 10 Unities + Antwort hilfreich

Guten Morgen,
ich kann es nicht testen, hab kein 2000, in 2007 läuft Folgendes:

Wenn ich es richtig verstanden habe, mußt Du überall, wo Du die Zeile
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True,  AllowFiltering:=True
verwendest, die Zeilen

Code:
        With ActiveSheet
            If Val(Application.Version) > 9 Then
                .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
            Else
                .EnableAutoFilter = True
                .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
            End If
        End With

einsetzen, da 2000 den Ausdruck AllowFiltering:=True nicht kennt.
Du fragst also ab, ob Office 10 oder höher, dann die neue Schreibweise, sonst die alte.

Schau Dir mal die Syntax des Protect in der Hilfe von 2000 an, dann solltest Du mit bißchen umschubsen selber hinkommen.

PS: Schau Dir auch einmal diese Seite an, ich denke, die könnte auch für zukünftige Projekte interessant für Dich sein ;-)
------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info    Excel -Suche    RuA-Suche    FAQ-ACAD    Hilfe zu CAD.de 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 15. Jun. 2008 16:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Elchkuh123 10 Unities + Antwort hilfreich

Hi,

mach es einfach so, das läuft in allen Versionen ab 2000

Code:
With Tabelle1
    .Protect UserInterfaceOnly:=True
    .EnableAutoFilter = True
End With

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz