Meldung bei Abspeichern: Variable nicht definiert

Bild

Betrifft: Meldung bei Abspeichern: Variable nicht definiert
von: Richard M.
Geschrieben am: 10.11.2003 13:40:37

Hallo,
ich habe ein VBA-Tool geschrieben, mit dem ich alle Kommentare aus einem VBA-Code einer anderen Excel-Datei entfernen kann. Der gecleante Code soll nun mittels Workbooks("xxx").SaveAs FileName:="yyy.xls" auf der Festplatte gespeichert werden. Nun meldet sich der VBA-Editor mit der Meldung, dass eine Variable nicht definiert sei, sie ist es aber. Mein Tool stoppt daraufhin.
Öffnet man nun die Datei yyy.xls auf der Festplatte - die trotz Fehlermeldung - erzeugt wurde, so läßt sich diese nun ohne Fehlermeldung kompilieren.

Was kann die Ursache sein? Kann man die Compilerüberprüfung beim Abspeichern irgendwie übergehen?

Danke im Voraus
Richard

Bild


Betrifft: AW: Meldung bei Abspeichern: Variable nicht definiert
von: Hajo_Zi
Geschrieben am: 10.11.2003 13:43:44

Hallo Richard

1. die meisten haben hier keine Glaskugel
2. die meisten haben keinen Heiligenschein
3. die meisten können nicht auf Deinen Rechner schauen

für alle diese Leute ist die Antwort schneller erstellt, wenn Du den relevanten Code postest.


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP SBE.




Bild


Betrifft: AW: Meldung bei Abspeichern: Variable nicht definiert
von: Richard M.
Geschrieben am: 10.11.2003 13:53:50

Hi,
das ist der Code zum Löschen:


Sub Delete_Comments(actWBook As String, actSheet As String)
Dim i As Integer, j As Integer, Index As Integer, ipos As Integer
Dim OnlyComment As Boolean
Application.StatusBar = "Delete_Comments"
Index = 0
   For i = 1 To Workbooks(actWBook).VBProject.VBComponents.Count
      If Workbooks(actWBook).VBProject.VBComponents.Item(i).Name = actSheet Then
         Index = i
         Exit For
      End If
   Next i
   If Index = 0 Then Exit Sub
   With Workbooks(actWBook).VBProject.VBComponents.Item(Index).CodeModule
   For i = .CountOfLines To 1 Step -1
      OnlyComment = True
      ipos = InStr(.Lines(i, 1), "'")
      If ipos > 0 Then
         For j = 1 To ipos - 1
            If Mid(.Lines(i, 1), j, 1) <> " " Then OnlyComment = False
         Next j
         If OnlyComment Then
            'if line contains only comments
            .DeleteLines (i)
         Else
            'if line contains code and comments
            .InsertLines i, Left(.Lines(i, 1), ipos - 1)
            .DeleteLines (i + 1)
         End If
      End If
   Next i
   For i = .CountOfLines To 1 Step -1
      If Len(.Lines(i, 1)) = 0 Then
         .DeleteLines (i)
      End If
   Next i
   End With
Application.StatusBar = ""
End Sub


das Speichern des Dokuments erfolgt mit:

Application.DisplayAlerts = False
Workbooks(DBFile).SaveAs FileName:=DBPath & "\uhu.xls"
Workbooks(DBFile).Close
Application.DisplayAlerts = True

Beim Befehl SaveAs kommt dann die besagt Meldung

Richard


Bild


Betrifft: AW: Meldung bei Abspeichern: Variable nicht definiert
von: Hajo_Zi
Geschrieben am: 10.11.2003 13:58:13

Hallo Richard

kein neuer Stand. Wo wird das erste Makro aufgerufen??

Wo ist die Variable DBPath und DBFile definiert


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro




Bild


Betrifft: AW: Meldung bei Abspeichern: Variable nicht definiert
von: Richard M.
Geschrieben am: 10.11.2003 14:16:31

Hallo,
so wird die Delete-Prozedur aufgerufen:


Sub Maintest()
Dim dbfile As String
dbfile = "input.xls"
Workbooks.Open "C:\" & dbfile
Delete_Comments "input.xls", "Alarms"
Application.DisplayAlerts = False
Workbooks(dbfile).SaveAs FileName:="C:\output.xls"
Workbooks(dbfile).Close
Application.DisplayAlerts = True
End Sub


Gruss
Richard


Bild


Betrifft: AW: Meldung bei Abspeichern: NOCH OFFEN
von: Hajo_Zi
Geschrieben am: 10.11.2003 14:20:54

Hallo Richard

es ist ein Teil meiner Fragen Beantwortet. Ich könnte jetzt warten bis der andere Teil auch Benatwortet wird. Aber das ist mir zu Aufwendig. Ich bin raus.


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro




Bild

Beiträge aus den Excel-Beispielen zum Thema " Meldung bei Abspeichern: Variable nicht definiert"