Bei Klick - Makro für selbst gebaute Checkbox

Hi Leute,
brauche ne Möglichkeit mit der ich ein erstelltes Textfeld mit genau einem großen X füllen kann und das auch noch auf Knopfdruck …
Hab mich schon durchgegoogelt, hab aber nichts wirklich Brauchbares gefunden.

Checkboxen fallen aus, weil sie auf einer großen Checkliste einfach zu unübersichtlich sind.
VBA-mäßig bin ich ein Greenhorn, aber werde den Code schon verstehen … hoffe ich :smile:

Danke schon mal im vorraus!

Na schau ma mal

Also nach meiner Meinung ist folgendes zu programmieren

Me.Textfeld.value=„X“

Das ganz beim Ereignis Klick des Textfeldes

Du kannst das ganze noch mit eine If Schleife dahingehend verbessern dass du den EIntrag mit einen zweiten Klick wieder löscht

If Me.Textfeld.Value =„X“ then
Me.Textfeld.value=""
Else
Me.Textfeld.value=„X“
end if

M.f.G.
Gerhard

Danke schon mal, werds gleich mal testen usw, evtl (oder eher garantiert) aber gleich noch ne Frage stellen ^^’

Danke schon mal, werds gleich mal testen usw, evtl (oder eher
garantiert) aber gleich noch ne Frage stellen ^^’

Am besten du gibts deinen Code auch gleich dazu

So, hab mal ein bisschen „rumprobiert“, bin aber zu keinem Ergebnis gekommen. Fragen über Fragen:
Wie realisiere ich, dass mein Vorhaben per Mausklick läuft?
In deiner If-Verzweigung: Muss ich da noch was ersetzen, oder kann ich das so übernehmen?

Dachte das Ganze geht ohne VBA-Kenntnisse schnell von der Hand, sitze aber schon den ganzen Vormittag daran und fühle mich wie ins kalte Wasser gestoßen ^^’

(Falls du der Meinung bist, das is ohne weitere Vorkenntnisse in VBA nicht möglich, dann gebe ich hier erst mal auf, sonst freu ich mich schon auf deine Hilfe =D)

Also nicht verzweifeln VBA ist eigentlich super
kenne Leute die ihre Briefe damit schreiben :smile:

Wenn du im Entwurf auf dein Textfeld einen Doppelklick machst kommst du automatisch in das passende Ereigniss

Jetzt den Code

Text0 wird mein Textfeld genannt du mußt den Namen mit den deines ersetzen

If Me.Text0.Value = „X“ Then 'Abfrage ob das Textfeld mit einen x belegt ist
Me.Text0 = „“ ’ wenn es belegt ist dann mach es leer
Else
Me.Text0 = UCase(„X“) 'wenn es nicht mit einen x belegt ist dann schreib ein GROSSES X rein UCase schreibt alles groß
End If

Viel Spaß

Wenn ich das richtig verstanden habe gehe wie folgt vor.
Textfeld erzeugen „Textbox1“
und eine Befehlsschaltfläche mit folgendem code

Private Sub CommandButton1_Click()
TextBox1 = TextBox1 & "X "
End Sub

Alles klar, soweit hab ich das jetzt drin, bekomme aber trotzdem ständig ne Fehlermeldung:
– Fehler beim Kompilieren: Unzulässige Verwendung des Schlüsselwortes Me –
Code (hoffe mehr muss da nicht rein):

Sub TextChk1_BeiKlick()
If Me.TextChk1.Value = „X“ Then
Me.TextChk1 = „“
Else
Me.TextChk1 = UCase(„X“)
End If
End Sub

…Steh ich jetzt auf dem Schlauch? *runter guck*

Ist das Access?
Wie heißt dein Formular

Na das dürfte doch machbar sein.^^

Nen CommandButton auf die Form ziehen, doppelklick und etwa folgenden Code dranhängen:

Private Sub CommandButton1_Click()
Label1.Caption = „X“
Label1.Font.Size = „24“
End Sub

Anstelle des Label1 könnte natürlich auch eine Textbox oder ähnliches stehen.

Ich hoffe ich habe dein Problem richtig verstanden und konnte dir helfen. Wenn nicht, einfach nochmal melden.^^

greetz

Leider kann ich dir nicht weiterhelfen.

LG

Hallo, kenne mich leider da nicht aus und kann nicht helfen
Böcker

Also, hab bis jetzt diesen Code:

Sub Makro1_BeiKlick()
If ActiveCell.Value = „“ Then
ActiveCell.Value = „X“
Else: ActiveCell.Value = „—“
End If
End Sub
— (ich weiß dass nach dem „—“ nichts mehr passiert, is aber auch nicht weiter tragisch
Möchte aber, dass in etwa das passiert, innerhalb eines Textfeldes (nicht innerhalb einer Zelle) und das auf Mausklick.
Sprich:

  1. Klick --> Textfeld beinhaltet großes X
  2. Klicj --> Textfeld beinhaltet —
  3. Klick --> Textfeld beinhaltet nichts mehr

So ist meine Vorstellung ^^’
(Verwende Excel 2000, Textfeld hole ich aus
-Steuerelement-Toolbox-)
Thx nochmal @ll

Also so ganz durchgestiegen bin ich noch nicht. Was willst du denn überhaupt damit realisieren???

So wie ich das momentan sehe, müsste dir folgender Code weiterhelfen:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case TextBox1.Value
Case „“: TextBox1 = „X“
Case „X“: TextBox1 = „—“
Case Else: TextBox1 = „“
End Select
End Sub

Das z. B. in Tabelle1 im VBA-Editor kopieren. Bei einem Doppelklick wird dann der Befehl ausgeführt.
Alternativ könntest du bei der „Select Case TextBox1.Value“ natürlich auch die „Select Case ActiveCell.Value“ verwenden. Je nach dem was du mit dem Script erreichen willst.^^

Also: Was ich erreichen wollte ist eine Checkbox-ähnliche Darstellung, welche aber nicht so klein und unveränderbar ist, wie eine normale Checkbox.
Habe dafür jetzt aus dem Font Wingdings2 den Checkhaken (in normalem Font „P“) und so nen durchgestrichenen Kreis (X) gewählt und folgendes Makro geschrieben. einfach eine Form zeichnen und Makro zuweisen.


Sub Makro1_BeiKlick()
Dim Rect As Shape
ActiveSheet.Shapes(Application.Caller).Select
Select Case Selection.Characters.Text
Case „“
Selection.Characters.Text = „P“
Case „P“
Selection.Characters.Text = „X“
Case „X“
Selection.Characters.Text = „“
Case Else
End Select
ActiveCell.Select
End Sub

Der erste Klick auf das Objekt bewirkt den Check-Haken, der zweite ein verneinendes Symbol und der Dritte wieder ein leeres Feld. (Font Wingdings2 muss gewählt sein)

Danke für eure Hilfe, ohne einige Denkanstöße hätte das nicht geklappt =D

Hallöle!
Sorry, aber da bin ich auch überfragt.
Arbeite viel zu selten mit Makros um dir da einen vernünftigen Rat geben zu können.

Gruß