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

Komplilierungsfehler??

Komplilierungsfehler?
07.03.2005 22:17:44
Dieter.K
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

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komplilierungsfehler?
07.03.2005 22:29:58
Ramses
Hallo
Wo ist ein "i" vor "for i = 9 to 87" ?
Gruss Rainer
AW: Komplilierungsfehler?
07.03.2005 22:46:05
Dieter.K
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
Anzeige
AW: Komplilierungsfehler?
07.03.2005 23:13:38
Ramses
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
AW: Komplilierungsfehler?
07.03.2005 23:34:13
Dieter.K
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
Anzeige
AW: Komplilierungsfehler?
07.03.2005 23:44:08
Ramses
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
AW: Komplilierungsfehler?
07.03.2005 23:54:41
Dieter.K
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
Anzeige
AW: Komplilierungsfehler?
08.03.2005 00:18:43
Bert
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
AW: Komplilierungsfehler?
08.03.2005 01:09:50
Dieter.K
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
AW: Komplilierungsfehler?
08.03.2005 09:16:17
Dieter.K
Hallo Bert!
Super! Fehler behoben! Besten Dank!
Gruß
Dieter.K

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige