Cursor sprigt nach Eintrag ungewollt weiter

Bild

Betrifft: Cursor sprigt nach Eintrag ungewollt weiter
von: mike49
Geschrieben am: 22.06.2015 14:32:43

Hallo Zusammen,
wenn ich in F42 einen Dezimalwert eintrage, sprngt der Cursor immer in die Zelle G9.
Er sollte aber stehen bleiben.
Habe ich was falsch gemacht?
Gruß
mike49

Bild

Betrifft: trag mal eine Ganzzahl ein,ohne Dezimal..oT
von: robert
Geschrieben am: 22.06.2015 14:42:02


Bild

Betrifft: AW: trag mal eine Ganzzahl ein,ohne Dezimal..oT
von: mike49
Geschrieben am: 22.06.2015 15:21:22
. . . es muss mit dem Blattschutz zusammenhängen.
Wenn ich den aufhebe, klappts. Blattschutz erfolgt mit Makro.

Bild

Betrifft: Somit erledigt-oder?....
von: robert
Geschrieben am: 22.06.2015 15:34:42
Hi,
wenn nicht-was erwartest Du jetzt?
Deine Angaben sind nicht sehr aufschlussreich :-)
Vielleicht kannst Du eine Beispieldatei hochladen?
Gruß
robert

Bild

Betrifft: AW: Somit erledigt-oder?....
von: mike49
Geschrieben am: 22.06.2015 16:06:20
Hallo Robert,
du hast Recht. Ich lade die Datei mal hoch.(Der Größe wegen nur bis zum Blatt "Mär". Die anderen habe ich gelöscht).
https://www.herber.de/bbs/user/98376.xls
Teste mal Folgendes:
Trage im Blatt "Mär" in F42 die Zahl "42" ein , dann springt der Cursor nach G9.
Scrolle ich zurück und trage wieder "0" ein, passiert das Gleiche. Gerechnet und eingetragen wird jedoch richtig.
Wo liegt der Fehler?
Gruß
mike49

Bild

Betrifft: AW: Somit erledigt-oder?....
von: Daniel
Geschrieben am: 22.06.2015 16:27:15
Hi
du hast den Blattschutz aktiviert mit der Option, dass nur nichtgesperrte Zellen ausgewählt werden dürfen
Desweiteren hast du wahrscheinlich in den Erweiterten Optionen angegeben, dass nach einer Eingabe die Markierung nach unten in die nächste Zeile verschoben werden soll.
Wenn du jetzt in F42 einen Wert eingibst, gibt es unterhalb dieser Zelle keine weitere ungesperrte Zelle die angesprungen werden kann, also geht die Markierung in die erste ungesperrte Zelle der nächsten Spalten und das ist G9.
wenn du möchtest, dass die Markierung nach F42 auf I42 springt, musst du in den Optionen-Erweitert-Bearbeitungsoptionen als Richtung für die Markierungsverschiebung Rechts auswählen
Gruß Daniel

Bild

Betrifft: AW: Somit erledigt-oder?....
von: mike49
Geschrieben am: 22.06.2015 17:04:19
Hallo Daniel,
danke für deine Hilfe. Eine Markierungsverschiebung in den Optionen hatte ich nicht aktiviert.
Die Eingabezelle müsste dann ja aktiviert bleiben. Tut sie aber nicht sondern G9 wird aktiviert.
Gruß
mike49

Bild

Betrifft: SchutzMakro geändert...
von: robert
Geschrieben am: 22.06.2015 16:35:02
Hi,
Makro Schutz geändert:

Sub Schutz()
    Dim intBlatt As Integer
    Application.ScreenUpdating = False 'Bildschirmaktualisierung abschalten.
    For intBlatt = 1 To Sheets.Count 'Schleife für alle Tabellenblätter:
        If Sheets(intBlatt).ProtectContents = False Then Schutz_Herstellen intBlatt 'Wenn  _
ungeschützt dann Schutz wieder herstellen.
           Sheets(intBlatt).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
           Sheets(intBlatt).EnableSelection = xlNoRestrictions
    Next
    Application.ScreenUpdating = True 'Bildschirmaktualisierung wieder einschalten.
End Sub

Gruß
robert

Bild

Betrifft: AW: SchutzMakro geändert...
von: mike49
Geschrieben am: 22.06.2015 17:11:19
Hallo Robert,
danke für die schnelle Hilfe.
Was muss ich eigentlich konkret machen? Ich habe das komplette Blattschutzmakro durch das deinige ersetzt. Hat nichts gebracht (hast du es getestet?).
Habe dann alternativ nur den Teil "Sub Schutz()" im Makro ersetzt. Hat aber auch nichts gebracht.
Der Cursor springt immer noch nach G9!
Das Blattschutz-Makro hätte ich aber gerne aufgeteilt nach "Sub KeinSchutz ()" und "Sub Schutz ()" behalten.
Gruß
mike49

Bild

Betrifft: hier Deine Datei-getestet...
von: robert
Geschrieben am: 22.06.2015 18:15:06
https://www.herber.de/bbs/user/98387.xls

Bild

Betrifft: AW: hier Deine Datei-getestet...
von: mike49
Geschrieben am: 22.06.2015 20:39:59
Hallo Robert,
musste kurz weg.
Das klappt ja prima! Danke vielmals.
Eine Kleinigkeit hätte ich noch:
Wie kann ich das "Doppelklick-Makro" in den Blättern erweitern, dass bei Doppelklick in F42 "0" eingetragen wird?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("E9:H39")) Is Nothing Then
    Cancel = True
    If Target = "" Then
      Select Case Target.Column
        Case 5: Target = "09:00"
        Case 6: Target = "12:00"
        Case 7: Target = ""
        Case 8: Target = ""
      End Select
    Else
      Target = ""
    End If
  End If
End Sub

Gruß
mike49

Bild

Betrifft: Doppelklick-Wert in Zelle......
von: robert
Geschrieben am: 23.06.2015 07:23:22
Hi,
also wie ein Wert in eine Zelle geschrieben wird, solltest Du
aber schon selbst hinkriegen :-)
Eigeninitiative und Selbsthilfe sind gefragt ;-)
Gruß
robert

Bild

Betrifft: AW: Doppelklick-Wert in Zelle......
von: mike49
Geschrieben am: 23.06.2015 07:40:43
Hallo Robert,
es geht ja nicht darum einen Wert in eine Zelle zu schreiben, sondern um die Erweiterung des bestehenden Makros. Hierfür sind meine VBA-Kenntnisse leider nicht ausreichend (Level: Kaum Excel/VBA-Kenntnisse).
Trotzdem: Vielen Dank für deine Hilfe.
Gruß
mike49

Bild

Betrifft: AW: Doppelklick-Wert in Zelle......
von: Matthias L
Geschrieben am: 23.06.2015 08:23:45
Hallo
Einfach hinten "dranhängen"

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 '
 If Not Intersect(Target, Range("E9:H39")) Is Nothing Then
    Cancel = True
    If Target = "" Then
       Select Case Target.Column
         Case 5: Target = "09:00"
         Case 6: Target = "12:00"
         Case 7: Target = ""
         Case 8: Target = ""
       End Select
    Else
       Target = ""
    End If
 End If
 '
 If Not Intersect(Target, Range("F42")) Is Nothing Then
    Target = "0"
 End If
 '
End Sub
Gruß Matthias

Bild

Betrifft: AW: Doppelklick-Wert in Zelle......
von: mike49
Geschrieben am: 23.06.2015 09:03:25
Hallo Matthias,
im Prinzip funktioniert es, aber nach Doppelklick sieht man nur kurz den Wert "0", der aber sofort wieder verschwindet und die Zelle bleibt leer und der Cursor blinkt in der Zelle.
Gruß
mike49

Bild

Betrifft: Cancel = True
von: Matthias L
Geschrieben am: 23.06.2015 09:41:19
Hallo
Das liegt nicht an der Codeerweiterung,
sondern an den Einstellungen in den Excel-Optionen der Datei.
Siehe Eweitert

  • Direkte Zellbearbeitung zulassen (ist bei Dir aktiviert?)

  • In Zellen mit Nullwert eine Null anzeigen (ist bei Dir deaktiviert?)

  • Probiers so:
    Option Explicit
    '
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    '
    If Not Intersect(Target, Range("E9:H39")) Is Nothing Then
       Cancel = True
       If Target = "" Then
          Select Case Target.Column
            Case 5: Target = "09:00"
            Case 6: Target = "12:00"
            Case 7: Target = ""
            Case 8: Target = ""
          End Select
       Else
          Target = ""
       End If
    End If
    '
    If Not Intersect(Target, Range("F42")) Is Nothing Then
       Cancel = True
       Target = "0"
    End If
    '
    End Sub
    
    Gruß Matthias

    Bild

    Betrifft: AW: Cancel = True
    von: mike49
    Geschrieben am: 23.06.2015 13:26:25
    Hallo Matthias,
    so klappts wie gewollt. Danke nochmals für deine Hilfe.
    Gruß
    mike49

     Bild

    Beiträge aus den Excel-Beispielen zum Thema "Cursor sprigt nach Eintrag ungewollt weiter"