Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formular: bei Auswahl Kästchen andere demarkieren

Formular: bei Auswahl Kästchen andere demarkieren
21.02.2004 17:25:18
Bjoern
Huhu zusammen,
ich bin dabei ein relativ einfaches Antragsformular zu entwerfen. Darin sind unter anderem auch Ankreuzfelder vorgesehen, die einfach durch "x" markiert werden sollen. Da immer nur eine Option ausgewählt werden kann, würde ich gerne eine Funktionalität per VBA einbauen, die ein eventuelles x aus einem Kästchen entfernt, sobald in einem anderen Kästchen ein X gesetzt wird. Das läßt sich natürlich dadurch realisieren, dass für jedes Kästchen entsprechender Code zu jeden jeweils anderen Kästchen geschrieben wird. Hat jemand vielleicht eine elegantere Idee, d.h. einen Code, der für jedes Kästchen gleichermaßen verwendet werden könnte (etwa der Art: "Lösche alle x außer im aktuellen Kästchen") Vielen Dank für Euere Anregungen!
Gruss
Bjoern

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formular: bei Auswahl Kästchen andere demarkieren
21.02.2004 17:30:12
PeterW
Hallo Bjoern,
ist zwar nicht die Antwort auf deine Frage aber warum benutzt du keine Optionsfelder?
Gruß
Peter
AW: Formular: bei Auswahl Kästchen andere demarkieren
21.02.2004 18:17:09
Bjoern
Huhu Sepp, huhu Peter,
Danke für Euere AW! Der Vorschlag von Sepp kommt schon recht nah an die geplante Funktion. Allerdings will ich nicht auf Doppelklick, sondern auf Eingabe von "X" reagieren.
Die Abwandlung:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [Option]) Is Nothing Then
If Target = "X" Then
[Option] = ""
Target = "X"
End If
Cancel = True
End If
End Sub

tut leider nicht :-(, weil Cancel nicht funktioniert. In die Funktion worksheet_change läßt sich der Parameter Cancel leider anders als bei

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean) nicht integrieren :-(.
Auf Doppelklick möchte ich nicht reagieren, weil mir dieses nicht intuitiv genug erscheint. Das Formular soll einfach zu bedienen sein. Ein Klick wäre eventuell dagegen schon eine Option.
Um auf Peters Frage zu antworten: Die vorhandenen Steuerelemente, insbesondere die Kontrollkästchen finde ich grafisch ziemlich schlecht. Sie sind viel zu winzig.
Vielen Dank nochmals und vielleicht habt ihr ja noch einen Tipp, wie man den Code umformulieren muß, damit er auch für die Eingabe eines wertes funktioniert?
Viele Grüße
Björn

Anzeige
AW: Formular: bei Auswahl Kästchen andere demarkieren
21.02.2004 18:26:36
Josef Ehrensberger
Hi Björn!
Versuch's mal so.


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [Option]) Is Nothing Then
Application.EnableEvents = False
If UCase(Target) = "X" Then
[Option] = ""
Target = "X"
End If
Application.EnableEvents = True
End If
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
oder beim markieren
21.02.2004 18:30:08
Josef Ehrensberger
Hi,
auswahl nur durch markieren.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [Option]) Is Nothing Then
[Option] = ""
Target = "X"
End If
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: oder beim markieren
21.02.2004 18:50:52
Bjoern
Huhu Sepp,
Klasse! Enable.events tut! :-))))) Super. Nochmals ein großes DANKE! Das spart mir eine Menge Zeit.
Viele Grüsse
Björn
P.S.:
Der zweite Script-Vorschlag läßt sich so nicht einsetzen, weil er auf das bloße Selecten reagiert, dh die Markierung springt alein mit dem Cursorwechsel weiter, obwohl der Anwender gar nichts (per Klick) markieren wollte.
AW: Fs-Planer
21.02.2004 18:59:37
Josef Ehrensberger
Gruß Sepp
Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)
was sollt das sein? o.T
21.02.2004 19:05:56
Josef Ehrensberger
Gruß Sepp
Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)
Anzeige
AW: was sollt das sein? o.T
21.02.2004 19:18:11
Bjoern
Huhu Sepp,

was sollte was sein??? Ich verstehe gerade nicht, worauf Du abzielst. Auch Dein Churchill-Zitat kann ich gerade nicht recht einordnen. Nochmals herzlichen Dank für Deinen Script-Vorschlag, den ich so übernehmen werde. Eine Funktion für das Markieren per Einfachklick benötige ich nicht unbedingt. Falls Du dazu auch noch eine Idee hättest, wäre das natürlich Spitze :-).
Gruß und noch schönen Abend
Björn
AW: was sollt das sein? o.T
21.02.2004 19:28:59
Josef Ehrensberger
Hallo Björn!
Was soll das sein

bezog sich auf das Phänomen, das bei der Antwort auf dein Posting
dort wo ich eigentlich "Danke für die Rückmeldung" geschrieben hatte,
plötzlich der Betreff eines anderen Threads stand!
Zum ausfüllen mit Klick.
Das geht nicht, weil ein einfacher Klick, im gegensatz zum Doppel-
klick, keinen Event darstellt, der von XL ausgewerted wird.
Gruß Sepp
Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)
Anzeige
AW: was sollt das sein? o.T
21.02.2004 19:51:31
Bjoern
Huhu Sepp,
Einmal mehr Danke für Deine AW! Dann brauche ich danach auch nicht mehr zu suchen :-).
Grüsse
Björn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige