AW: Schriftgröße in Textboxen
01.09.2005 21:56:44
Harry
Hallo Peter,
ich hatte eine ähnliche Erfahrung (betraf nicht nur dieSchriftgrösse, sondern auch die Höhe der Textboxen in einem Formular).
Hier ein BspCode, an dem sich dieses Phänomen ganz gut darstellen lässt:
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'In ein Standardmodul: "Modul1"
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Option Explicit
Public Sub Textphänomen_darstellen()
UserForm1.Height = 180
UserForm1.Width = 240
With UserForm1.TextBox1
.Height = 16
.Left = 6
.Top = 6
.Width = 220
.Font = "Tahoma"
.Font.Bold = False
.Font.Size = 8
.Value = "Tahoma; Schriftgrösse 8; Standard"
End With
With UserForm1.CommandButton1
.Height = 18
.Left = 78
.Top = 134
.Width = 72
.TakeFocusOnClick = False
.Caption = "Start"
.Accelerator = "S"
End With
UserForm1.Show vbModal
End Sub
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Ins Klassenmodul eines Formulars: "UserForm1"
'benötigte Objekte: "TextBox1", "CommanButton1"
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Option Explicit
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "ENDE" Then
UserForm1.Hide
Unload UserForm1
ActiveSheet.Cells(1, 1).Value = ""
ActiveSheet.Cells(1, 2).Value = ""
Exit Sub
End If
Dim tb_t As Single
If TextBox1.Top = 6 Then
MsgBox "80 mal klicken bis " & Chr(34) & "cbENDE" & Chr(34) & ":", _
vbInformation, "UserForm-Textphänomen"
TextBox1.Top = TextBox1.Top + 1
CommandButton1.Caption = "Weiter"
ActiveSheet.Cells(1, 1).HorizontalAlignment = xlRight
ActiveSheet.Cells(1, 1).Value = "cb1_Clicks:"
ActiveSheet.Cells(1, 1).HorizontalAlignment = xlCenter
ActiveSheet.Cells(1, 2).Value = "1"
ActiveSheet.Cells(2, 1).HorizontalAlignment = xlRight
ActiveSheet.Cells(2, 1).Value = "tb1_Top:"
ActiveSheet.Cells(2, 2).HorizontalAlignment = xlCenter
ActiveSheet.Cells(2, 2).Value = "7"
Exit Sub
End If
If TextBox1.Top < 85 Then
TextBox1.Top = TextBox1.Top + 1
ActiveSheet.Cells(1, 2).Value = ActiveSheet.Cells(1, 2).Value + 1
ActiveSheet.Cells(2, 2).Value = ActiveSheet.Cells(2, 2).Value + 1
Else
CommandButton1.Caption = "ENDE"
CommandButton1.Accelerator = "E"
ActiveSheet.Cells(1, 2).Value = ActiveSheet.Cells(1, 2).Value + 1
ActiveSheet.Cells(2, 2).Value = ActiveSheet.Cells(2, 2).Value + 1
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveSheet.Cells(1, 1).Value = ""
ActiveSheet.Cells(1, 2).Value = ""
ActiveSheet.Cells(2, 1).Value = ""
ActiveSheet.Cells(2, 2).Value = ""
End Sub
Habe zwar auch keine Erklärung für dieses Phänomen, die optische Darstellung ein und derselben Textbox scheint aber davon abzuhängen, an welcher Position sie sich im Formular befindet...
Gruss
Harry