Supportnet / Forum / Tabellenkalkulation
Bei drücken der Leertaste soll automatisch ein X in einer Zelle gesetzt werden
Frage
Hallo,
ich arbeite an einem Dokument in Excel 97. Dort sollen andere User Eingaben machen. Ich möchte nun Folgendes erreichen:
in dem Formular gibt es die Möglichkeit entweder Ja oder Nein zu wählen. Wenn der User nun diese Zellen mit Hilfe des Tabulators erreicht, soll er nur noch auf die Leertaste drücken müssen, um entweder in der Zelle mit Ja ein X oder oder dann in der nächsten Zelle mit Nein ein X zu setzen.
Vorab schon mal vielen Dank für jede Art von Hilfe!
Antwort 1 von nighty
hi alle
eine variante
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Value = " " Then Target.Value = "X"
End Sub
gruss nighty
eine variante
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Value = " " Then Target.Value = "X"
End Sub
gruss nighty
Antwort 2 von want2cu
@nighty:
ich kann zwar kein VBA, aber ich hätte zu deiner Lösung folgende Anmerkung:
Lt. Aufgabenstelllung soll dann in der n ä c h s t e n Zelle mit NEIN ein X gesetzt werden.
Bezieht sich deine Lösung nicht auf dieselbe Zelle?
@Frank: Wenn es nur um ein Kreuz geht, warum nimmst du dann kein Formularfeld zum Ankreuzen oder regelst das über DATEN -GÜLTIGKEIT?
CU
Klaus
ich kann zwar kein VBA, aber ich hätte zu deiner Lösung folgende Anmerkung:
Lt. Aufgabenstelllung soll dann in der n ä c h s t e n Zelle mit NEIN ein X gesetzt werden.
Bezieht sich deine Lösung nicht auf dieselbe Zelle?
@Frank: Wenn es nur um ein Kreuz geht, warum nimmst du dann kein Formularfeld zum Ankreuzen oder regelst das über DATEN -GÜLTIGKEIT?
CU
Klaus
Antwort 3 von FrankK23
Hallo,
noch mal zur Verdeutlichung:
ich habe z.B. die Zellen B1 bis B4. In der Zelle B2 steht als Text Ja und in B4 steht Nein. Der User kommt nun über den Tabulator in B1 und soll jetzt hier durch klicken der Leertaste ein X setzen. Diese bedeutet dann, dass es sich für Ja entschieden hat. Will er Nein sagen, drück er nochmal auf die Tabulatortaste und kommt dann in die Zelle B3 (das Formular ist so aufgebaut, dass der User nur die Zellen mit der Tabulatortaste erreicht, in denen er Eingaben machen kann) und kann dann hier durch klicken der Leertaste sein Kreuz machen.
Würde ich das ganze über das Formularfeld machen, müsste man die Maus benutzen. Diem möchte ich vermeiden.
Frank
noch mal zur Verdeutlichung:
ich habe z.B. die Zellen B1 bis B4. In der Zelle B2 steht als Text Ja und in B4 steht Nein. Der User kommt nun über den Tabulator in B1 und soll jetzt hier durch klicken der Leertaste ein X setzen. Diese bedeutet dann, dass es sich für Ja entschieden hat. Will er Nein sagen, drück er nochmal auf die Tabulatortaste und kommt dann in die Zelle B3 (das Formular ist so aufgebaut, dass der User nur die Zellen mit der Tabulatortaste erreicht, in denen er Eingaben machen kann) und kann dann hier durch klicken der Leertaste sein Kreuz machen.
Würde ich das ganze über das Formularfeld machen, müsste man die Maus benutzen. Diem möchte ich vermeiden.
Frank
Antwort 4 von nighty
hi want2cu
das makro wird aktiv bei dem verlassen einer beliebigen zelle und wird auf ein leezeichen bzw. spacetaste geprueft,sollte ein leerzeichen vorhanden sein so wird es mit dem x ersetzt(es wird immer von der aktiven zelle ausgegangen).
gruss nighty
das makro wird aktiv bei dem verlassen einer beliebigen zelle und wird auf ein leezeichen bzw. spacetaste geprueft,sollte ein leerzeichen vorhanden sein so wird es mit dem x ersetzt(es wird immer von der aktiven zelle ausgegangen).
gruss nighty
Antwort 5 von flupo
Ein "richtiges" Dialogfeld willst du wohl nicht basteln?
Damit wäre diese Cursorsteuerung kein Problem.
Rechtsklick unten auf den Registerkarten für die Tabellenblätter - "einfügen..." - Formular
Gruss Flupo
Damit wäre diese Cursorsteuerung kein Problem.
Rechtsklick unten auf den Registerkarten für die Tabellenblätter - "einfügen..." - Formular
Gruss Flupo
Antwort 6 von Aliba
Hi FrankK23,
ich weiß nicht, ob das so vorteilhaft ist, wie Du Dir das vorstellst. Warum besetzt Du nicht all diese Felder mit X vor und dann kann mit der Leertaste das nicht zutreffende gelöscht werden. Oder der User muß halt einfach das X eintragen.
Das Problem mit dem X im selben Feld kann nur über VB gelöst werden. Der Nachteil bei dieser Vorgehensweise ist ja auch, daß der User in dem Moment seiner Eingabe gar nichts sieht, daß er was in dem Feld geändert hat, sondern erst beim Verlassen der Zelle. Stellt er dann fest, hoppla das war jetzt falsch, muß ihm aber deutlich erklärt werden, daß er jetzt dieses Feld mit der Entf.-Taste zu leeren hat und es keinen Sinn macht das X durch Drücken der Leertaste zu entfernen. Es ist zwar optisch nicht mehr vorhanden, wird jedoch beim Verlassen der Zelle auf Grund der Anweisung wieder reingeschrieben. Könnte zu Problemen führen.
Nur so meine Meinung.
CU Aliba
ich weiß nicht, ob das so vorteilhaft ist, wie Du Dir das vorstellst. Warum besetzt Du nicht all diese Felder mit X vor und dann kann mit der Leertaste das nicht zutreffende gelöscht werden. Oder der User muß halt einfach das X eintragen.
Das Problem mit dem X im selben Feld kann nur über VB gelöst werden. Der Nachteil bei dieser Vorgehensweise ist ja auch, daß der User in dem Moment seiner Eingabe gar nichts sieht, daß er was in dem Feld geändert hat, sondern erst beim Verlassen der Zelle. Stellt er dann fest, hoppla das war jetzt falsch, muß ihm aber deutlich erklärt werden, daß er jetzt dieses Feld mit der Entf.-Taste zu leeren hat und es keinen Sinn macht das X durch Drücken der Leertaste zu entfernen. Es ist zwar optisch nicht mehr vorhanden, wird jedoch beim Verlassen der Zelle auf Grund der Anweisung wieder reingeschrieben. Könnte zu Problemen führen.
Nur so meine Meinung.
CU Aliba
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Wie programmiere ich ein Makro in Excel damit ich von Zelle a1 zu Zelle a2 automatisch weiterhüpfe nach drücken der Entertaste
- Zelle automatisch befüllen
- Wenn ich auf Button klicke soll automatisch in Zelle gesprungen werden
- Dateinamen in automatisch in Zelle einfügen
- Wert in Zelle automatisch Rot färben

