Re: Alternativfrage
13.05.2003 21:26:50
Forum
Hallo Andreasich habe mich nun doch noch gleich rangemacht und den Code erstellt. Ich mußte erstmal auch testen, weil dieses Ereignis habe ich noch nie eingesetzt und jetzt auch nicht umfangreich getestet. Ich hoffe es geht. Ansonsten geht es erst wieder am 14.04.03 nach 20:00 Uhr weiter über Tag kann ich nicht so komplizierte Probleme lösen.
Ich habe eine vorhandene Userform von mir dazu benutzt in der 250 Textboxen in 5 Klassen eingeteilt werden. Bei Dir wäre es ja nur eine aber es war mir jetzt zu aufwendig dies umzuarbeiten. Aber ich vermute mal wenn Du Klassenprogrammierung machst kennst Du Dich mit VBA schon recht gut aus.
' **************************************************************
' Modul: Klasse1 Typ = Klassenmodul
' **************************************************************
Option Explicit
Public WithEvents TextGroup As MSForms.TextBox
Private Sub TextGroup_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
' Eingbe überprüfennach Enter in Prozent umwandeln
If KeyCode = 13 Or KeyCode = 9 Then TextGroup.Value = Format(TextGroup.Value / 100, "0.00%")
End Sub
' **************************************************************
' Modul: Auftrag Typ = Userform
' **************************************************************
Option Explicit: Option Compare Text
Dim cb As Control
Dim TextCount1 As Integer, TextCount2 As Integer, TextCount3 As Integer
Dim TextCount4 As Integer, TextCount5 As Integer
Private Sub UserForm_Activate()
Me.Tag = "0"
' Textbox-Klassen setzen
TextCount1 = 0: TextCount2 = 0: TextCount3 = 0: TextCount4 = 0: TextCount5 = 0
For Each cb In Me.Controls
If TypeName(cb) = "TextBox" Then
Select Case cb.Text
Case "1"
TextCount1 = TextCount1 + 1
ReDim Preserve TextBoxen1(1 To TextCount1)
Set TextBoxen1(TextCount1).TextGroup = cb
cb.Text = ""
' Case "2"
' TextCount2 = TextCount2 + 1
' ReDim Preserve TextBoxen2(1 To TextCount2)
' Set TextBoxen2(TextCount2).TextGroup = cb
' cb.Text = 0
' Case "3"
' TextCount3 = TextCount3 + 1
' ReDim Preserve TextBoxen3(1 To TextCount3)
' Set TextBoxen3(TextCount3).TextGroup = cb
' cb.Text = ""
' Case "4"
' TextCount4 = TextCount4 + 1
' ReDim Preserve TextBoxen4(1 To TextCount4)
' Set TextBoxen4(TextCount4).TextGroup = cb
' cb.Text = ""
' Case "5"
' TextCount5 = TextCount5 + 1
' ReDim Preserve TextBoxen5(1 To TextCount5)
' Set TextBoxen5(TextCount5).TextGroup = cb
' cb.Text = ""
End Select
End If
Next cb
Me.Tag = ""
End Sub
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Public Mldg As String
Public Rategesamt As Double
Public I As Integer
Public TextBoxen1() As New Klasse1
Public TextBoxen2() As New Klasse2
Public TextBoxen3() As New Klasse3
Public TextBoxen4() As New Klasse4
Public TextBoxen5() As New Klasse5
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel