AW: Daten von einer Eingabemaske in Tabelle überne
24.04.2007 00:08:00
einer
Hallo
ergänze in den folgenden beiden Prozeduren des Userforms die mit '################ markierten Zeilen. Dann wird mit der rot/grün Umschaltung des Infofeldes der Ok-Button blockiert/freigegeben.
Gruß
Franz
' Intialisieren des User-Forms vor der Anzeige
Private Sub UserForm_Initialize()
Dim iNr() As Integer, strBeschreibung() As String, dblMenge() As Double, dblPercent() As _
Double
Dim rngZellen As Range, iI As Integer, iJ As Integer
Dim Element As Control
With Application
tbIstmenge.Value = 0
tbProzentIst.Value = 0
tbRestmenge.Value = .Range("Gesamtmenge")
Me.Caption = "Zusammenstellung Rezept Nr " & .Range("RezeptNr")
'Restzeilen anzeigen wenn Platz in Liste nicht für vollständiges Rezept ausreicht
If Restzeilen = -1 Then
Me.lblfreiZeile.Visible = False
Else
Me.lblfreiZeile.Caption = "restliche freie Zeilen: " & Restzeilen - 1
Me.lblfreiZeile.Visible = True
If Restzeilen - 1 AnzInhalt Then
Element.Visible = False
Else
Element.Visible = True
End If
Case Else
If Left(Element.Name, 8) = "lbTitel2" And AnzInhalt 0 Then iAnz = iAnz + 1
Next iI
Me.tbIstmenge.Value = dblIstmenge
'lbl für Restzeilen aktualisieren
If Restzeilen > 0 Then
Me.lblfreiZeile.Caption = "restliche freie Zeilen: " & Restzeilen - iAnz - 1
If Restzeilen - iAnz - 1 >= 0 Then
Me.lblfreiZeile.BackColor = 49152 'grün
Me.cbOK.Enabled = True '###################################
Else
Me.lblfreiZeile.BackColor = 255 'rot
Me.cbOK.Enabled = False '###################################
End If
End If
'Neue Restmenge Berechnen
Me.tbRestmenge.Value = Format(CDbl(Me.tbSollmenge.Value) - dblIstmenge, strFormatM)
'Neue IstProzent berechnen
Me.tbProzentIst = Format(dblIstmenge / CDbl(Me.tbSollmenge.Value) * 100, strFormatP)
'Prozentwerte der Inhaltsstoffe neu berechnen
For iI = 1 To AnzInhalt
Me.Controls("tbProzent" & Format(iI, "00")).Value = Format(CDbl(Me.Controls("tbMenge" & _
Format(iI, "00")).Value) _
/ CDbl(Me.tbSollmenge.Value) * 100, strFormatP)
Next
End Sub