Komplilierungsfehler??

Bild

Betrifft: Komplilierungsfehler??
von: Dieter.K
Geschrieben am: 07.03.2005 22:17:44
Hallo Forum!
Ich war lange nicht hier, da ich andere dringende Sachen zu erledigen hatte.
Jetzt habe ich eine neue Sache auf dem Tisch und schon tauchen die ersten Probleme auf. Mit folgendem Code blende ich alle Zeilen aus die leer sind.
Auf meinem Windows2000 System mit Office'97 läuft das einwandfrei. Die selbe Datei mit Betriebssystem XP und Office'97 bringt mir einen Fehler beim Kompilieren "Projekt oder Bibliothek nicht auffindbar" (das "i" in der Zeile "For i = 9 to 87", wird hierbei markiert.


Private Sub Zeilen_ausblenden()
Application.ScreenUpdating = False
For i = 9 To 87
If Cells(i, 1).Value = "" Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
Range("AA1").Select
End Sub

Hat jemand einen Rat? Natürlich könnte ich eine Fehlerabfrage einbauen, aber ich will ja erreichen, das die Leerzeilen ausgeblendet werden.

Danke für Eure Hilfe
Gruß
Dieter.K
Bild

Betrifft: AW: Komplilierungsfehler??
von: Ramses
Geschrieben am: 07.03.2005 22:29:58
Hallo
Wo ist ein "i" vor "for i = 9 to 87" ?
Gruss Rainer
Bild

Betrifft: AW: Komplilierungsfehler??
von: Dieter.K
Geschrieben am: 07.03.2005 22:46:05
Hallo Rainer!
Ich meine natürlich das i in der Zeile "For i = 7 to 89" (in der 3 Zeile).
Mit folgenden Code tritt der Fehler nicht auf:

Private Sub Zeilen_ausblenden()
Application.ScreenUpdating = False
Dim i As Integer
For i = 9 To 87
If Cells(i, 1).Value = "" Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
Range("AA1").Select
End Sub

Frag mich nicht warum? Habe nur etwas rumprobiert. Du hast sicher eine Erklärung dafür.
Ich habe in der selben Datei an einer anderen Stelle noch einmal einen identischen Fehler. Darf ich Dir diesen hier ebenfalls nennen, oder soll ich einen neuen Thread öffnen?
Gruß
Dieter.K
Bild

Betrifft: AW: Komplilierungsfehler??
von: Ramses
Geschrieben am: 07.03.2005 23:13:38
Hallo
ist dort "Option Explicit" in der ersten Zeile des Moduls ?
Dann wäre das die Erklärung.
Excel arbeitet dann nicht, wenn Variablen verwendet werden, aber nicht deklariert sind (Dim i As Integer"
Die andere Frage, nur her damit.
Gruss Rainer
Bild

Betrifft: AW: Komplilierungsfehler??
von: Dieter.K
Geschrieben am: 07.03.2005 23:34:13
Hallo Rainer,
in der ersten Zeile steht nicht "Option Explicit". Das seltsame ist, dass der gleiche Code in meinen anderen Projekten funtioniert! Mit der Zeile "Dim i As Integer" funktioniert es. Wie gesagt: warum, weiß ich nicht.
Mein zweites Problem:
Unser SystemAdmin hat ein Auftragsverwaltung in Access geschrieben. Hierzu werden meine Excel-Dateien herangezogen und in eben diese der folgende Code in einem Modul hinzugefügt:
' Fügen Sie folgende Zeile in den Deklarationsbereich
' des Moduls ein.
Dim appAccess As Access.Application

Sub Auto_close()
Dim wert As Double
          
    ActiveWorkbook.Save
    wert = Worksheets("Kundendaten").Range("F6").Value
    wert = Format(wert, "##,##0.00")   ' Liefert "5.459,40".
    'wert = Format(wert, "###0.00")  ' Liefert "334,90".
    ' Eine neue Instanz von Microsoft Access erstellen.
    On Error Resume Next
    Set appAccess = _
        GetObject(, "Access.Application.8")
    ' Die Datenbank RunCode im Microsoft Access-Fenster öffnen.
    'appAccess.OpenCurrentDatabase "C:\Eigene Dateien\RunCode.mdb", False
    ' Die Sub-Prozedur ausführen.
    'AppActivate "Microsoft Access"
    If Err.Number <> 0 Then
        Application.Quit
    Else
        appAccess.Run "vonExcel", wert
        'appAccess.Run "vonExcel", "Horst"
        AppActivate "Microsoft Access"
    End If
    Set appAccess = Nothing
End Sub


Nun erhalte ich auf einmal die Fehlermeldung in folgender Zeile:
wert = Format(wert, "##,##0.00") ' Liefert "5.459,40".
wobei das Wort "Format" markiert wird.
Es fehlt der Verweis zu folgender Datei: "ActiveCAD ActiveX Control module"
Auf meinem 2000System ist diese vorhanden, auf dem XP-System nicht. Einfach ins "System32" Verzeichnis kopieren funktioniert nicht. (Ich denke, diese DLL, oder was immer das auch sein mag, muß registriert werden. Aber wie???)
Kannst Du damit etwas anfangen?
Besten Dank schon mal für Deine Hilfe.
Gruß
Dieter.K
Bild

Betrifft: AW: Komplilierungsfehler??
von: Ramses
Geschrieben am: 07.03.2005 23:44:08
Hallo
tut mir leid, da gibt es keinen Zusammenhang.
Auf dem anderen Rechner ist das Programm "ActiveCAD" nicht installiert.
Aber warum der Fehler in Verbindung mit "Wert" auftritt,... keine Ahnung.
Gruss Rainer
Bild

Betrifft: AW: Komplilierungsfehler??
von: Dieter.K
Geschrieben am: 07.03.2005 23:54:41
Hallo Rainer,
danke für Deine Hilfe.
Ich denke, das Problem ist die nicht vorhandenen Klassenbibliothek "ActiveCAD ActiveX Control module". Wenn ich diese von einem zum anderen PC kopiere (immer in das Verzeichnis "System32"), dann muß diese Klassenbibliothek bestimmt noch in der Registry
"registriert" werden. Aber leider weiß ich nicht wie (Rechner nach dem einfügen der Datei neu starten, bringt nichts). Werde mal ein bischen weiterbasteln. Gebe Bescheid wenn ich den Fehler gefunden habe.
Nochmals Danke
Gruß
Dieter.K
Bild

Betrifft: AW: Komplilierungsfehler??
von: Bert
Geschrieben am: 08.03.2005 00:18:43
Wenn Format angemeckert wird, ist mit einiger Sicherheit deine VBA-Bibliothek nicht ok.
Versuchs mal, indem du es so schreibst: VBA.Strings.Format()
also direkt auf die Klasse verweist.
Bert
Bild

Betrifft: AW: Komplilierungsfehler??
von: Dieter.K
Geschrieben am: 08.03.2005 01:09:50
Hallo Bert,
danke für den Tipp! Werde ich aber erst morgen testen können da ich auf dem XP-System jetzt erst ein Backup fahre. Ich gebe Dir morgen Bescheid ob es funktioniert hat.
Gruß
Dieter.K
Bild

Betrifft: AW: Komplilierungsfehler??
von: Dieter.K
Geschrieben am: 08.03.2005 09:16:17
Hallo Bert!
Super! Fehler behoben! Besten Dank!
Gruß
Dieter.K
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zahlen in Zeit umwandeln"