Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Cursor sprigt nach Eintrag ungewollt weiter

Cursor sprigt nach Eintrag ungewollt weiter
22.06.2015 14:32:43
mike49
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

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

Betreff
Datum
Anwender
Anzeige
trag mal eine Ganzzahl ein,ohne Dezimal..oT
22.06.2015 14:42:02
robert

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

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

AW: Somit erledigt-oder?....
22.06.2015 16:06:20
mike49
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).

Die Datei https://www.herber.de/bbs/user/98376.xls wurde aus Datenschutzgründen gelöscht


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

Anzeige
AW: Somit erledigt-oder?....
22.06.2015 16:27:15
Daniel
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

Anzeige
AW: Somit erledigt-oder?....
22.06.2015 17:04:19
mike49
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

SchutzMakro geändert...
22.06.2015 16:35:02
robert
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

Anzeige
AW: SchutzMakro geändert...
22.06.2015 17:11:19
mike49
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

AW: hier Deine Datei-getestet...
22.06.2015 20:39:59
mike49
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

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

AW: Doppelklick-Wert in Zelle......
23.06.2015 07:40:43
mike49
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

AW: Doppelklick-Wert in Zelle......
23.06.2015 08:23:45
Matthias
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

Anzeige
AW: Doppelklick-Wert in Zelle......
23.06.2015 09:03:25
mike49
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

Cancel = True
23.06.2015 09:41:19
Matthias
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

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

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige