Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Textpositionierung in Textfeld
#1
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").


.jpg   2017-06-12 10_15_25-Red Tag Check.jpg (Größe: 1,41 KB / Downloads: 79)

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

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hi,
warum eine TextBox?
und sind dir die Standardcheckboxen zu klein?

anbei eine Variante mit Lables

.xlsm   klick.xlsm (Größe: 19,58 KB / Downloads: 4)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#4
Moin Chris!
Meine Glaskugel vermeldet: Touchscreen?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
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.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#6
Hallo zusammen,

weder Touch noch Maus, denke ich. Eher alles mit Tastatur.
Gruß Atilla
Antworten Top
#7
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:
Antworten Top
#8
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?
Antworten Top
#9
Hallo Fupi,

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

   

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
Antworten Top
#10
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
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste