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

Laufzeitfehler

Laufzeitfehler
24.04.2003 11:09:24
Homer
Moin Leutz,

Folgendes Problem:

Habe in einer Exceltabelle 2 Makros drin. Einmal Kleinbuchstaben in Grossbuchstaben umwandeln und Hintergrundfarbe bei eingabe von bestimmten Buchstaben. Funzt bei mir auch alles.

Jetzt habe ich diese Tabelle einem Kollegen geschicht der Win98 hat und da bekommt er immer den Laufzeitfehler 1004..irgend etwas mit Color, is bestimmt die Hintergrundfarbe.

Liegt das an daran das ich die Tabelle unter XP gemacht habe und er hat Win98???

Gibt es da Abhilfe???

Gruss Homer

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Laufzeitfehler
24.04.2003 11:18:54
PeterA

Hallo Homer

Grundsätzlich ist es wichiger zu wissen welche Excel Versionen auf den beiden Rechnern installiert sind, nicht das Betriebssystem. Weiters wäre es zielführend wenn du uns die Syntax des Makros nicht vorenthalten würdest. Und zum Schluss wäre aiuch die exakte Fehlermeldung von Vorteil. Nicht "irgend was mit Color"

Meld dich doch noch mal
Ciao Peter

Re: Laufzeitfehler
24.04.2003 11:23:06
ChrisL

Hallo Homer

Kann mich Peter nur anschliessen.

https://www.herber.de/forum/messages/247931.html
https://www.herber.de/forum/messages/247537.html
etc.

Das Makro läuft ab Excel 97 aufwärts.

Gruss
Chris

Anzeige
Re: Laufzeitfehler
24.04.2003 11:58:57
Homer

Hier schon mal die Makros die ich in Excel-Office XP geschrieben habe. Genaue Angbe über Laufzeitfehler und welches Excel Probleme macht kommt heute Nachmittag.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column >= 3 And Target.Column <= 39 And Target.Row >= 17 And Target.Row <= 83 And (Target.Row - 11) / 6 = WorksheetFunction.Round((Target.Row - 11) / 6, 0) Then
Target.Interior.ColorIndex = xlNone
If IsEmpty(Target) = False Then
Target = UCase(Target)
If Target = "T" Then Target.Interior.ColorIndex = 15
If Target = "N" Then Target.Interior.ColorIndex = 15
If Target = "TV" Then Target.Interior.ColorIndex = 15
If Target = "NV" Then Target.Interior.ColorIndex = 15
If Target = "U" Then Target.Interior.ColorIndex = 43
If Target = "A" Then Target.Interior.ColorIndex = 6
If Target = "K" Then Target.Interior.ColorIndex = 41
If Target = "SP" Then Target.Interior.ColorIndex = 3
Else: Target.Interior.ColorIndex = 2
End If
End If
If IsEmpty(Target) Then Exit Sub
If Intersect(Target, Range("C17:AM83")) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Target = UCase(Target)
ERRORHANDLER:
Application.EnableEvents = True
End Sub

Gruss Homer

Anzeige
Re: Laufzeitfehler
24.04.2003 12:57:52
Homer

So, die Probleme treten auf in Excel 2000.

Hier der Laufzeitfehler:

Laufzeitfehler "1004" die ColorIndex-Eigenschaft des Interior Objektes kann nicht festgelegt werden.

Gruss Homer

Re: Laufzeitfehler
24.04.2003 13:15:29
ChrisL

Hallo Homer

Glaube nicht, dass es an der Version liegt. Wenns in XP und 97 läuft dann sollte es auch in 2000 laufen. Kann es Heute Abend gerne mal in 2000 testen, aber das Resultat kenne ich eigentlich schon.

Vielleicht wurde der Code verändert aber mit dem den du angegeben hast müsste es funktionieren.

Gruss
Chris

Re: Laufzeitfehler
24.04.2003 13:26:36
Homer

Habe Makro und Blatt Kennwort geschützt, also verändern kann da keiner was.

Noch was eigenartiges: Habe bei mir Blattschutz gemacht und nur den Hahen bei "nichtgesperrte Zellen" und bei "Zellen formatieren" gesetzt. Kollege kann aber keine Farben anwählen obwohl "Zellen formatieren" freigegeben ist.


Gruss Homer

Anzeige
Re: Laufzeitfehler
24.04.2003 15:01:54
PeterA

Hallo !

Wenn du nur "nichtgesperrte Zellen" auswählst kann, meiner Meinung nach, keine der Zellen bearbeitet werden. "Gesperrte Zelen auswählen" müsste glaube ich auch aktiviert werden.

Versuchs mal !

Ciao Peter

Re: Laufzeitfehler
24.04.2003 15:04:08
ChrisL

Hallo Homer

Da kommen wir der Sache näher ;-)

Den Blattschutz zu Beginn des Makros aufheben und anschliessend wieder erstellen.

ActiveSheet.Unprotect ("Passwort")
'Dein Makro
ActiveSheet.Protect ("Passwort")

Gruss
Chris



Re: Laufzeitfehler
24.04.2003 15:08:36
Homer

Wenn ich "nicht gesperrte Zellen" mit anklicke, kann man wieder die ganzen Formeln sehen..was ich eigendlich vermeiden wollte.


Gruss Homer

Anzeige
Re: Laufzeitfehler
24.04.2003 15:12:15
Homer

@Chris,

wie soll ich das verstehen? Muss ich das ins Makro schreiben?

ActiveSheet.Unprotect ("Passwort")
'Dein Makro
ActiveSheet.Protect ("Passwort")


Gruss Homer

Re: Laufzeitfehler
24.04.2003 15:35:52
ChrisL

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ActiveSheet.Unprotect ("Passwort")
If Target.Column >= 3 And Target.Column <= 39 And Target.Row >= 17 And Target.Row <= 83 And (Target.Row - 11) / 6 = WorksheetFunction.Round((Target.Row - 11) / 6, 0) Then
Target.Interior.ColorIndex = xlNone
If IsEmpty(Target) = False Then
Target = UCase(Target)
If Target = "T" Then Target.Interior.ColorIndex = 15
If Target = "N" Then Target.Interior.ColorIndex = 15
If Target = "TV" Then Target.Interior.ColorIndex = 15
If Target = "NV" Then Target.Interior.ColorIndex = 15
If Target = "U" Then Target.Interior.ColorIndex = 43
If Target = "A" Then Target.Interior.ColorIndex = 6
If Target = "K" Then Target.Interior.ColorIndex = 41
If Target = "SP" Then Target.Interior.ColorIndex = 3
Else: Target.Interior.ColorIndex = 2
End If
End If
If IsEmpty(Target) Then Exit Sub
If Intersect(Target, Range("C17:AM83")) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Target = UCase(Target)
ERRORHANDLER:
Application.EnableEvents = True
ActiveSheet.Protect ("Passwort")
End Sub

Anzeige
Re: Laufzeitfehler
24.04.2003 15:39:45
PeterA

Hi !

Ach so, verstehe. Was hältst du vom Vorschlag von ChrisL?


Am Anfang des Makros ....

ActiveSheet.Unprotect

und am Ende ...

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

Du hast sicher den Einwand des Passworts. Ich verwebde nie ein Passwort, man braucht sich nur ein wenig auszukennen im Excel (oder Passwortckracker verwenden) und man kommt dorthin wo man will.

Ciao Peter



Re: Laufzeitfehler
24.04.2003 15:50:52
Homer

Danke, werd es gleich mal machen.

Habe mal meine Tabelle ohne Blattschutz aber mit Makrokennwort meinem Kollegen geschickt. Läuft ohne Blattschutz einwandfrei.

Is ja komisch.


Gruss Homer

Anzeige
Re: Laufzeitfehler
24.04.2003 16:45:09
Homer

Was heißt dies eigendlich so zusagen auf deutsch?

If Target.Column >= 3 And Target.Column <= 39 And Target.Row >= 17 And Target.Row <= 83 And (Target.Row - 11) / 6 = WorksheetFunction.Round((Target.Row - 11) / 6, 0) Then


Ich hab nähmlich Zeilen in der Tabelle zugefügt und jetzt haut das Makro nicht mehr hin. Muss ich die Zeilenangaben usw. oben im Makro auch verändern?

Gruss Homer

Re: Laufzeitfehler
24.04.2003 17:11:03
ChrisL

Hallo Homer

Target.Column >= 3
d.h. Spalte C oder höher

Target.Column <= 39
d.h. Spalte AM oder kleiner

Target.Row >= 17
d.h. Zeile 17 oder höher

Target.Row <= 83
d.h. Zeile 83 oder kleiner

(Target.Row - 11) / 6 = WorksheetFunction.Round((Target.Row - 11) / 6, 0)
d.h. es sind nur 6er Schritte erlaubt, also 17, 23, 29 etc. (so hat deine ursprüngliche Aufgabe gelautet).

Gruss
Chris



Anzeige
Re: Laufzeitfehler
24.04.2003 17:18:20
Homer

Danke Chris,

herrlich so ein Forum wenn man auf dem Schlauch steht oder so wie ich Anfänger ist.


Gruss Homer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige