PDA

Vollständige Version anzeigen : Excel 2000 Makro läuft in 97 nicht


Dartgod
28.02.2008, 13:31
Hallo Leute,

ich erstelle mal wieder ein paar Formblätter.
JEtzt habe ich es hier uaf meinem 2000 Rechner geschrieben und getestet es läuft. Schicek es meinem Kollegen und bei ihm läuft es nicht (er besitzt wie die meisten anderen auch, nur Excel 97)

ICh seh aber keinen Fehler bzw. weiß nicht was ich umstellen muss damit die Codes bei allen Versionen laufen.

Danke schon mal im voraus.

Das ist der Code den ich zum ausführen nutze. HAbe den in der "Tabelle" eingefügt er bewirkt, dass bei Eintrag in Zelle J48 2 Codes ausgeführt werden.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$48" Then
Ausgabe
verketten
End If
End Sub


Das sind die beiden Codes die ausgeführt werden.

Sub Ausgabe()
Worksheets("Eingabe").Select
Worksheets("Eingabe").Unprotect
Range("T48").Value = "'" & Format(Date, "YYMMDD")
Worksheets("Eingabe").Select
Worksheets("Eingabe").Protect
End Sub
Sub verketten()
Application.ScreenUpdating = False
Worksheets("Eingabe").Select
Worksheets("Eingabe").Unprotect
Range("Z48").Select
Selection.Copy
Range("J50").Select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Worksheets("Eingabe").Select
Worksheets("Eingabe").Protect
Application.ScreenUpdating = True
End Sub

Und jetzt bitte ihr ;)

jinx
28.02.2008, 18:08
<font size="2" face="Century Gothic">Moin, Dartgod,

auch bei Excel97 gibt es für den Protect-Befehl den Zusatz UserInterfaceOnly:=True, der die Ausführung von Makros auf der geschützten Tabelle zulässt. Und was da alles selektiert wird - überflüssig. Soll der Code zum Schützen und Verketten auf der Tabelle gelten, aus der die Aktion aufgerufen wird?

Private Sub Worksheet_Activate()
ActiveSheet.Protect userinterfaceonly:=True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$48" Then
Application.EnableEvents = False
With Worksheets("Eingabe")
.Range("J50").Value = .Range("Z48").Value
End With
Application.EnableEvents = True
End If
End Sub
Funktioniert unter Excel97 - bei mir... ;)</font>

Dartgod
28.02.2008, 18:36
Alles klar werde ich morgen mal testen! Danke

Dartgod
29.02.2008, 07:51
Hallo jinx ich gebe Dir mal die Datei im Anhang. Vllt kannst Du mir dann eher weiterhelfen. Ich kopiere mit dem verketten Makro eine Formel in ein anderes Feld und warum soviel select? ICh bin nicht so der Crack ich schreibe manchmal mehr als andere ;)

Vllt kannst Du mir ja so eher helfen das es unter 97 läuft.

Habe bei den beiden anderen ZEllen die wichtig sind und worauf sich einiges bezieht extra in roter Schrift.


Danke jetzt schon mal für die Hilfe!!