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

Makrofehler - Cursor verschwindet

Makrofehler - Cursor verschwindet
29.02.2008 08:00:18
alex
Guten Morgen Forum,
habe eine Datei mit 2 Tabellen. 1. heißt "Leistungen DSA"; 2. heißt "Bearbeiternachweis".
in der 1. Tab. gebe ich werte ein, in der 2. Tab. wird ein vermerk angelegt wer, wann in Tab 1 etwas geändert hat.
Beide Blätter sind Kennwortgeschützt.
Problem: Seitdem ich in "Bearbeiternachweis" mit Blattschutz arbeite verschwindet der Cursor wenn ich in Tab1 "Leistungen DSA" etwas eingebe.
Entferne ich die Blattschutzgeschichte für "Bearbeiternachweis" aus dem Makro dann bleibt der Cursor in Tab.1 nachdem ich was eingebe.
muss euch mal mein Makro zeigen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim Zahl As Integer
Dim Schlagball As Integer
Dim Wurfball As Integer
Dim Schleuderball As Integer
Dim GeräteKombi As Integer
If Target.Count > 1 Then Exit Sub
ActiveSheet.Unprotect "Mein Passwort"
Select Case Target.Column
Case 14, 17, 20, 22, 24, 25, 29, 31, 34, 38, 40, 47, 49, 51, 53, 55, 56
Sheets("Bearbeiternachweis").Unprotect "Mein Passwort"
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Sheets("Bearbeiternachweis").Protect "Mein Passwort"
Case 33
For i = 1 To Len(Target.Value)
On Error GoTo w1
Zahl = Zahl & Mid(Target.Value, i, 1)
Next i
w1:
If Zahl = 50 Then
Target.Offset(0, 1).NumberFormat = "0.0"" sec"""
ElseIf Zahl = 75 Then
Target.Offset(0, 1).NumberFormat = "0.0"" sec"""
ElseIf Zahl = 1000 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = 300 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = 500 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
Sheets("Bearbeiternachweis").Unprotect "Mein Passwort"
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Sheets("Bearbeiternachweis").Protect "Mein Passwort"
Case 34
For i = 1 To Len(Target.Value)
On Error GoTo w2
Zahl = Zahl & Mid(Target.Offset(0, -1).Value, i, 1)
Next i
w2:
If Zahl = 1000 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
Case 42
For i = 1 To Len(Target.Value)
On Error GoTo w3
Zahl = Zahl & Mid(Target.Value, i, 1)
Next i
w3:
If Zahl = 100 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = Schlagball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = Wurfball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = Schleuderball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = GeräteKombi Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
End If
Sheets("Bearbeiternachweis").Unprotect "Mein Passwort"
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Sheets("Bearbeiternachweis").Protect "Mein Passwort"
Case 43
For i = 1 To Len(Target.Value)
On Error GoTo w4
Zahl = Zahl & Mid(Target.Offset(0, -1).Value, i, 1)
Next i
w4:
If Zahl = 100 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
Sheets("Bearbeiternachweis").Unprotect "Mein Passwort"
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Sheets("Bearbeiternachweis").Protect "Mein Passwort"
End Select
ActiveSheet.Protect "red13", userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = True
End Sub


Weiss jemand woran das liegen könnte?
grüsse von
alex

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrofehler - Cursor verschwindet
29.02.2008 08:37:48
Oberschlumpf
Hi alex
Ich weiß nicht, ob meine Idee was bringt, aber versuch mal das:
Entsperre dein Blatt "Bearbeiternachweis" 1x direkt am Code-Anfang.
Sperre es dann wieder 1x am Code-Ende.
Und lösche alle Blattschutzaktivitäten dazwischen.
Hilft das?
Ciao
Thorsten

AW: Makrofehler - Cursor verschwindet
29.02.2008 08:48:00
alex
hi Thorsten,
habs so gemacht:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim Zahl As Integer
Dim Schlagball As Integer
Dim Wurfball As Integer
Dim Schleuderball As Integer
Dim GeräteKombi As Integer
If Target.Count > 1 Then Exit Sub
ActiveSheet.Unprotect "Mein Passwort"
Sheets("Bearbeiternachweis").Unprotect "Mein Passwort"
Select Case Target.Column
Case 14, 17, 20, 22, 24, 25, 29, 31, 34, 38, 40, 47, 49, 51, 53, 55, 56
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Case 33
For i = 1 To Len(Target.Value)
On Error GoTo w1
Zahl = Zahl & Mid(Target.Value, i, 1)
Next i
w1:
If Zahl = 50 Then
Target.Offset(0, 1).NumberFormat = "0.0"" sec"""
ElseIf Zahl = 75 Then
Target.Offset(0, 1).NumberFormat = "0.0"" sec"""
ElseIf Zahl = 1000 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = 300 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = 500 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Case 34
For i = 1 To Len(Target.Value)
On Error GoTo w2
Zahl = Zahl & Mid(Target.Offset(0, -1).Value, i, 1)
Next i
w2:
If Zahl = 1000 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
Case 42
For i = 1 To Len(Target.Value)
On Error GoTo w3
Zahl = Zahl & Mid(Target.Value, i, 1)
Next i
w3:
If Zahl = 100 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = Schlagball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = Wurfball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = Schleuderball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = GeräteKombi Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
End If
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
Case 43
For i = 1 To Len(Target.Value)
On Error GoTo w4
Zahl = Zahl & Mid(Target.Offset(0, -1).Value, i, 1)
Next i
w4:
If Zahl = 100 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName &  _
" - " & Date
End Select
Sheets("Bearbeiternachweis").Protect "Mein Passwort"
ActiveSheet.Protect "Mein Passwort", userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = True
End Sub


vorrausgesetzt es ist an der richtigen Stelle;
funktioniert nicht!
grüsse von
alex

Anzeige
AW: Makrofehler - Cursor verschwindet
29.02.2008 08:58:56
Oberschlumpf
Hi alex
Ja, doch, so dachte ich es mir. Na ja, schade, eine andere Idee hab ich auch nicht.
Ciao
Thorsten

Erledigt
29.02.2008 10:45:00
alex
hallo leute,
der Fehler war, dass ich im Makro (welches in Tabelle1 stand) eingegeben habe, dass sich Tabelle 2 entsperren und das wieder sperren soll.
Diesen Befehl darf ich anscheinend nicht in Tabelle 1 geben, sondern in "Diese Arbeitsmappe"
mit diesem:

Private Sub Workbook_open()
Dim lx As Long
For lx = 1 To 2
With ThisWorkbook.Sheets(lx)
.Unprotect "red13"
.Range("A7:P124").Sort Key1:=.Range("A7"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
.EnableAutoFilter = True
.Protect "red13", userinterfaceonly:=True
End With
Next lx
End Sub


jetzt gehts:
ich trage in Tab1 etwas ein, per Makro wird der Usernachweis in Tab2 geführt, nach dieser Aktion ist alles wieder gesperrt (mit Passwort) und der Cursor bleibt da wo er soll.
Alles so wie ich es wollte!
Danke nochmal
grüsse von
alex

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige