Clever-Excel-Forum

Normale Version: Textpositionierung in Textfeld
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Servus,
ich lasse innerhalb einer Userform quadratische Textboxes mit einem Haken (Wingdings 2, "P") füllen. Beim automatischen befüllen sind sie Haken (trotz aktivierter Option fmTextAlignLeft) wie im Bild zu sehen zu weit rechts angeordnet. Wenn ich sie selber setze, also ein P einfüge sitzen Sie korrekt. Wenn ich in die Felder mit den zu weit rechts sitzenden Haken klick und den Cursor rechts des Hakens setze rutschen Sie in die richtige Position. Weiß jemand woran das liegen könnte? Ich habe kein Leerzeichen vor dem P eingefügt im Code (" P").

[attachment=11733]

Gruß
Moin!
Ohne Datei nebst Code erst mal nur ein Tipp:
Setze die SelectionMargin-Eigenschaft auf False

Gruß Ralf
Hi,
warum eine TextBox?
und sind dir die Standardcheckboxen zu klein?

anbei eine Variante mit Lables
[attachment=11735]
Moin Chris!
Meine Glaskugel vermeldet: Touchscreen?

Gruß Ralf
Hi,

ich habe auch einen Lapi mit Touchscreen (mein Bsp. funktioniert auch damit, sogar noch besser weil es wie eine Checkbox funktioniert da auch am "Text" geklickt werden kann)

Nur die Frage bleibt offen warum eine TextBox verwenden.
Hallo zusammen,

weder Touch noch Maus, denke ich. Eher alles mit Tastatur.
Danke für die vielen Antworten. Ich war unterwegs, konnte nicht früher antworten.

@Ralf Das löst das Problem quasi schon, danke.

@Rest: Ich habe gerade erst damit angefangen VBA zu nutzen, auf die Idee ein Label zu nutzen bin ich leider nicht gekommen. Das würde das ganze extrem erleichtern, da ich bei der Textbox momentan über ein _dblclick Ereignis die Haken einfüge. Peinlich. Undecided  Und ja, die normalen Checkboxes sind mir zu klein. Daher bin ich (nochmals: peinlich) auf die tolle Idee gekommen Textboxes zu benutzen, haha. Werde es dann Wohl umstellen, wenns keine Probleme macht! :19:
Hab mit dem Label aber leider ein Problem, da sich die meine Zellenwerte, die das "P" speichern sollen nicht mit ändern:

Ich tippe schnell ein einfaches Beispiel, um zu zeigen was ich meine:

Code:
Private Sub Label1_Click()
   If Label1 = "P" Then
      Label1 = ""
   Else: Label1 = "P"
End If
End Sub
Code:
Private Sub Label1_Change()
   Sheets(1).Cells(1, 1).Value = Label1
End Sub
Hier sollte doch in Zelle A1 beim Click des Labels ein P ein-/ausgetragen werden oder übersehe ich hier etwas?
Hallo Fupi,

wozu brauchst Du dazu 2 Ereignisse? Zumal es das Change-Ereignis gar nicht gibt:

[attachment=11740]

Das sollte doch reichen:
Private Sub Label1_Click()
 If Label1 = "P" Then
   Label1 = ""
 Else
   Label1 = "P"
 End If
 Sheets(1).Cells(1, 1).Value = Label1
End Sub
Gruß Uwe
Hallo,

in Chris Variante benutzt Chris das Zeichen 168 zur Darstellung als Quadrat bei Abwahl des Häckchens. Das ist quasi ein horizontaler und höher gestellter Doppelpunkt.

Wenn man bei Abwahl des Häckchens die Zelle in der Tabelle leer haben will, darf nicht das Caption des Labels übertragen werden.

In Chris' Variante würde ich es so lösen:


Code:
Sub klick()
 With Label1
     .Font.Size = yourSize
     .Caption = IIf(.Caption = Chr(254), Chr(168), Chr(254))
     Sheets(1).Cells(1, 1).Value = IIf(.Caption = Chr(254), "", Chr(254))
 End With
End Sub
Seiten: 1 2