Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
480to484
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
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe (dringend!) notwendig bei autom. Codeänderun

Hilfe (dringend!) notwendig bei autom. Codeänderun
08.09.2004 08:28:07
Felix
Hi,
brauche dringend Hilfe bei einem Code der x-Dateien öffnet, nach einem Programmierfehler sucht und diesen herauslöscht.
Habe soweit schon alles fertig nur brauche ich Hilfe um im Code eines jeden Sheets nachzusehen ob sich dort vielleicht dieser Codeschnipsel versteckt haben könnte.
Für Antworten bin ich sehr dankbar.
Mit besten Grüßen
Felix
For iCounter = 1 To ActiveWorkbook.Sheets.Count
'-------------In der nächsten Zeile ist der Fehler.
'-------------Wie bezeichne ich diese Zeile richtig?
With ActiveWorkbook.VBProject.VBComponents(Sheets(iCounter)).CodeModule
For iCZCounter = 1 To .CountOfLines
If .Lines(iCZCounter, 1) Like "*jjjtjjtu*" Then
.ReplaceLine iCZCounter, ""
Exit For
End If
Next iCZCounter
End With
Next iCounter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe (dringend!) notwendig bei autom. Codeänderun
08.09.2004 09:03:18
Nepumuk
Hallo Felix,
versuch es so:


For iCounter = 1 To ActiveWorkbook.Sheets.Count
    With ThisWorkbook.VBProject.VBComponents(Sheets(iCounter).CodeName).CodeModule
        For iCZCounter = 1 To .CountOfLines
            If .Lines(iCZCounter, 1) Like "*jjjtjjtu*" Then
                .DeleteLines iCZCounter
                Exit For
            End If
        Next
    End With
Next


Gruß
Nepumuk
Anzeige
AW: Hilfe (dringend!) notwendig bei autom. Codeänd
08.09.2004 09:35:16
Felix
Also - zum einen Danke Nepomuk - Damit hast du mir schon einmal einige weitergeholfen, aber...
Das Problem liegt glaube ich ein wenig tiefer...
Ein Kollege hat eine Tabelle erstellt dabei hat er wohl nicht aufgepasst und in dieser Tabelle im Quelltext "jjjtjjtu" eingetippt.
Im Quelltext dieser Tabelle ist keinerlei Art von Code zu finden sondern einzig und allein dieser Tippfehler.
Starte ich nun das Makro meldet er mir (und das wohl auch nicht zu unrecht) einen Objektorientieren oder Anwendungsfehler. Ich vermute das liegt daran, dass dieser Tippfehler in keinem Modul.
Wie bekomme ich diesen Code nun dennoch weg, sollte er wirklich vorhanden sein in der geöffneten Datei?
Anzeige
AW: Hilfe (dringend!) notwendig bei autom. Codeänd
08.09.2004 09:40:32
Nepumuk
Hallo Felix,
jetzt versteh ich nur Bahnhof. Lade mal die Mappe auf den Server. Daten müssen keine drin sein.
Gruß
Nepumuk
AW: Dateien
08.09.2004 11:13:37
Nepumuk
Hallo Felix,
du kannst keine With - Anweisung die sich auf unterschiedliche Objekte beziehen ineinander schachteln. So geht's:


Option Explicit
Sub Korrigiere()
    Dim lCounter As Long, sFilename As String, myVBComponents As Object
    Dim iCounter As Integer, iCZCounter As Integer, bol_oldStatus As Boolean
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
        bol_oldStatus = .DisplayStatusBar
        .DisplayStatusBar = True
    End With
    With Worksheets("Tabelle1")
        .Columns(1).ClearContents
        .Cells(1, 1) = "Änderungen wurden an folgenden Dateien durchgeführt:"
    End With
    With Application.FileSearch
        .LookIn = "C:\Daten\"
        .Filename = "*Q*.xls"
        .SearchSubFolders = True
        .Execute
        For lCounter = 1 To .FoundFiles.Count
            Cells(lCounter + 1, 1) = .FoundFiles(lCounter)
        Next
    End With
    Worksheets("Tabelle1").Columns(1).AutoFit
    For lCounter = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        sFilename = Dir(Cells(lCounter, 1))
        Application.StatusBar = "Bearbeitet wird " & sFilename
        Workbooks.Open Cells(lCounter, 1)
        With Workbooks(sFilename)
            With .VBProject
                For Each myVBComponents In .VBComponents
                    If .Type = 100 And .Name <> Workbooks(sFilename).CodeName Then
                        With myVBComponents.CodeModule
                            For iCZCounter = 1 To .CountOfLines
                                If .Lines(iCZCounter, 1) Like "*jjjtjjtu*" Then
                                    .DeleteLines iCZCounter
                                    Exit For
                                End If
                            Next
                        End With
                    End If
                Next
            End With
            .Close True
        End With
    Next
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
        .StatusBar = False
        .DisplayStatusBar = bol_oldStatus
    End With
End Sub


Gruß
Nepumuk
Anzeige
Frage immer noch offen
08.09.2004 13:33:44
Felix
Hi,
Fehler tritt immer noch auf Laufzeitfehler '1004'
Fehlermeldung: "Die Methode VBProjekt für das Objekt Workbook ist fehlgeschlagen"
(Zeile 58) With Workbooks(sFilename)
(Zeile 59) With .VBProject
(Zeile 60) For Each myVBComponents In .VBComponents
*grübelnd am Kopfe kratzt*
AW: Frage immer noch offen
08.09.2004 14:07:28
Nepumuk
Hallo Felix,
das Programm ist getestet unter Excel2000 Windows2000 und hat einwandfrei funktioniert. Ändere mal diese Zeile:
If .Type = 100 And .Name Workbooks(sFilename).CodeName Then
so:
If myVBComponents.Type = 100 And myVBComponents.Name Workbooks(sFilename).CodeName Then
Gruß
Nepumuk
Anzeige
Der Programmatische Zugriff...
08.09.2004 15:07:58
Felix
Laufzeitfehler '1004'
Der Programmatische Zugriff auf das Visual Basic-Projekt ist nicht sicher.
(selber Fehler wie der vorhergehende in der Zeile 59)
Vielen Dank übrigens, dass du weiterhin so eifrig dabei bist und mir hilfst :)
Korrektur: Makro läuft unter 97 problemlos...
08.09.2004 15:12:53
Felix
Warum aber eigentlich unter Excel2003 nicht?
Und vielen Dank nochmals für deine Nerven und deine Geduld...
AW: Korrektur: Makro läuft unter 97 problemlos...
08.09.2004 16:29:36
Nepumuk
Hallo Felix,
in Excel XP musst bei "Extras" - "Makros" - "Sicherheit" - "Vertrauenswürdige Quellen" - "Zugriff auf Visual Basic-Projekt vertrauen" ein Häkchen rein.
Gruß
Nepumuk
Danke :)
09.09.2004 15:19:15
Felix
Vielen Dank - jetzt klappt alles :)
Frage noch offen...
08.09.2004 09:41:22
Felix
Hab doch glatt vergessen das Häckchen zu setzen :)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige