Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateneingabe+Berechnung in Box?

Dateneingabe+Berechnung in Box?
09.06.2006 18:28:25
spillo
Hallo Leute,
ist es möglich, dass man in einem Fenster (Box) Daten erfasst, im aktiven Fenster damit rechnet und dann in Zeilen einfügt?
Hier eine nähere Beschreibung:
https://www.herber.de/bbs/user/34268.xls
Vielen Dank für eure Hilfe.
Schöne Grüße
Spillo

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateneingabe+Berechnung in Box?
10.06.2006 06:20:16
schauan
Hallo Spillo,
ohne dass ich Deine Datei angeschaut habe erst mal als Antwort ja.
Nimm eine Textbox aus der Steuerelement-Toolbox. Der kannst Du über die Eigenschaften eine Zelle zuweisen (LinkedCell), z.B. A1. Im Blatt trägst Du eine Formel ein, z.B. in B1 =A1+1

Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2003

AW: Dateneingabe+Berechnung in Box?
10.06.2006 11:32:24
spillo
Hallo André,
vielen Dank für deine Antwort.
Leider ist es nicht ganz so einfach. Die Arbeitsmappe ist etwas komplexer als eine normale Berechnung wie die angesprochen hast.
Möchte, dass ich im aktiven Fenster (mit den Inhalten aus einer Tabelle) für jede "Position" eine Menge hinzufügen kann, die dann in eine andere Tabelle ausgegeben wird.
Wäre echt super, wenn du mir hier weiterhelfen könntest.
Vielen Dank und schöne Grüße
Spillo
Anzeige
AW: Dateneingabe+Berechnung in Box?
10.06.2006 16:36:08
fcs
Hallo Spiller,
ich habe in deiner Datei ein User-Form integriert, in dem nach jeder Eingabe von Mengen die Daten aktualisert werden. Mit dem OK-Button werden die Informationen aus dem Formblatt in die Tabelle geschrieben.
Ich hatte zunächst versucht das Formblatt dynamisch zu gestalten, so dass das Formblatt immer entsprechend der Anzahl der Inhaltsstoffe im Rezept die Eingabezeilen zur Verfügung stellt. Hat leider nicht geklappt.
Das Formblatt kann jetzt bis zu 25 Inhaltsstoffe pro Rezept verarbeiten. Nicht benötigte Eingabezeilen werden vor der Anzeige des Formulars ausgeblendet.
Um den Datenaustausch zwische Formular und Tabellen zu vereinfachen habe ich noch ein paar Bereichsnamen zusätzlich vergeben.
https://www.herber.de/bbs/user/34280.xls
mfg
Franz
Anzeige
AW: Dateneingabe+Berechnung in Box?
10.06.2006 16:48:36
spillo
Hallo Franz,
pow. Respekt. Bin sprachlos. VIELEN DANK DAFÜR!
Du weißt gar nicht, wie du mir geholfen hast. Merci!
Eine Kleinigkeit vielleicht noch. Wenn ich darf.
Ist es noch möglich, dass bei dem Eingabefenster man auch Prozente eingeben kann?
Z.B. Dass man beim Inhaltsstoff2 nicht das Gewicht eingibt, sondern die Prozente (von der Gesamtmenge)??
Und dass unter "Istmenge" noch die Restmenge steht, die noch einzugeben ist?
Ansonsten PERFETK!!
Vielen Dank und schöne Grüße
Spillo
AW: Dateneingabe+Berechnung in Box?
10.06.2006 17:31:03
fcs
Hallo Spillo,
das Formblatt war auch nicht in 5 Minuten erledigt, aber für mich eine schöne Möglichkeit mal einiges zu probieren.
Es ist kein Problem ein weitere Feld zu integrieren, das immer den Restwert des Gewichts berechnet.
Damit auch Prozentwerte eingegeben werden können muss für jede Prozent-Eingabebox eine Routine eingebaut werden, die die Prozenteingabe umrechnet bevor das gesamte Blatt neu berechnet wird.
Ich denke, dass ich dir das heute noch umstricken kann.
mfg
Franz
Anzeige
AW: Dateneingabe+Berechnung in Box?
10.06.2006 17:49:13
spillo
Hallo Franz,
das glaube ich dir, dass das ein ziemlicher Aufwand war.
Danke auch dafür.
Etwas wäre mir noch eingefallen, und zwar:
Wenn eine gewisse Anzahl von Zeilen erreicht ist (z.B. 30 Zeielen befüllt) und somit das ausgewählte (noch hinzuzufügende Rezept) nicht mehr Platz hat, dass dann eine Art Meldung erscheint, dass dieses Rezept nicht mehr "Platz" hat und somit auch nicht hinzugefügt werden kann.
VIELEN DANK!
Schöne Grüße
Spillo
AW: Dateneingabe+Berechnung in Box?
10.06.2006 20:11:50
fcs
Hallo Spillo,
habe die Datei angpasst. Im Formular kann jetzt wahlweise eine Menge oder ein Prozentwert eingegeben werden.
Mengen werden immmer auf 1 Stelle nach dem Komma gerundet, Prozentwerte auf 2 Stellen nach dem Komma. Bei der Eingabe sollten auch nicht mehr Stellen eingegeben werden. Falls diese Genauigkeit nicht reicht, dann müssen die Rundungen im Makro angepasst werden. Ist einfach möglich, da Formate für Userform als Konstanten deklariert sind.
https://www.herber.de/bbs/user/34284.xls
mfg
Franz
Anzeige
AW: Dateneingabe+Berechnung in Box?
12.06.2006 00:36:46
spillo
Hallo Franz,
puh. Respekt. Ist der Hammer was du da "gezaubert" hast.
Kurz noch 2 Fragen was mir aufgefallen ist.
* Kann man beim Eingabefenster die Felder prüfen, dass nur numerische Eingaben gemacht werden können? Bei Eingabe eines Textes stürtz es ab.
* Kann man die Reihenfolge der Eingaben ändern? Dass nach der Eingabe des Gewichtes der Cursor zur Prozenteingabe "springt"?
Optimal wäre natürlich: Wenn Gewichtseingabe größer 0 dann zum nächsten Inhaltsstoff (Gewicht) und sonst zur Prozenteingabe.
Vielen Dank und schöne Grüße
Spillo
AW: Dateneingabe+Berechnung in Box?
12.06.2006 08:16:46
fcs
Hall Spillo,
* Kann man beim Eingabefenster die Felder prüfen, dass nur numerische Eingaben gemacht werden können? Bei Eingabe eines Textes stürtz es ab.
Das kann man indem man das Change-Ereignis jedes Eingabefeldes überwacht. Ist aber hier etwas komplizierter, da man verhindern muss, dass das Programm in eine Endlosschleife gerät, wenn das gesamte Formblatt neu berechnet wird.
* Kann man die Reihenfolge der Eingaben ändern? Dass nach der Eingabe des Gewichtes der Cursor zur Prozenteingabe "springt"?
Das kannst du selber anpassen, indem du im VBA-Editor im Formular für die Eingabefelder die Eigenschaft "TabIndex" anpasst und dadurch die Reihenfolge änderst in der die Eingabefelder bei TAB oder ENTER angesprungen werden.
Optimal wäre natürlich: Wenn Gewichtseingabe größer 0 dann zum nächsten Inhaltsstoff (Gewicht) und sonst zur Prozenteingabe.
Theoretisch auch möglich, aber dann müßten die Prozeduren für 50 Eingabefelder angepaßt werden. Deshalb hatte ich die Reihenfolge der Eingabefeler ja auch so festgelegt, dass nach Abschluß der Eingabe in einem Feld ins nächste Mengenfeld bzw. %-Feld gesprungen wird, da ich annahm, dass entweder nur Mengenwerte oder nur Prozentwerte eingegeben werden.
Die Lösung für das Problem mit der Zahleneingabe bastel ich dir noch ins Blatt (heute oder Donnerstag).
mfg
Franz
Anzeige
AW: Dateneingabe+Berechnung in Box?
12.06.2006 13:58:18
fcs
Hallo Spillo,
habe statt des Change-Ereignisses hier im Forum eine noch bessere Lösung zur Überwachung der Eingabe in Textboxen gefungen. Bei der Eingabe von Mengen oder Prozentzahlen wird jetzt die Tastatureingabe überwacht. Alle Zeichen außer Ziffern 0 bis 9 und Komma werden ignoriert.
https://www.herber.de/bbs/user/34311.xls
mfg
Franz
AW: Dateneingabe+Berechnung in Box?
12.06.2006 23:31:11
spillo
Hallo Franz,
vielen Dank für die Datei.
Aufgefallen ist mir, dass bei der Mengeneingabe der ersten Position diese beim Verlassen nicht berechnet wird. Habe aber den Fehler gefunden und korrigiert. *stolz* ;-)
Weiters würde ich dich bitten, mir zu erklären, was ich ändern muss, damit die Zeilen in eine andere Tabelle geschrieben werden.
https://www.herber.de/bbs/user/34324.xls
Ich habe es versucht mit folgenden Änderungen:
in UserForm1:
Set wks = ThisWorkbook.Sheets("Formular")
in Modul2:
Set wks = ThisWorkbook.Sheets("Formular")
Leider funktioniert das aber nicht. :-(
Vielen Dank und schöne Grüße
Spillo
Anzeige
AW: Dateneingabe+Berechnung in Box?
13.06.2006 00:08:35
fcs
Hallo Spillo,
diese beiden Makros müssen noch angepaßt werden:
im Modul:
Sub Schaltfläche4_BeiKlick()
Dim wks As Worksheet, Zeile As Long, Zeilenmax As Long, Zeile1 As Long, rngAnzahl As Range
' Nach folgender Abfrage wird eine neue Rezept-Zusammenstellung angehängt oder
' die vorhandene Liste gelöscht und neu begonnen.
Zeilenmax = 30 ' Max. Zeilenzahl für Zusammenstellung mehrerer Rezepte
Zeile1 = 11 '1. Zeile ab der Ergebnisse aus dem userform in die Tabelle eingetragen werden
' Bereich mit der Anzahl der Inhaltsstoffe je Rezept
Set rngAnzahl = Application.Range("alleRezepteX")
Set wks = ThisWorkbook.Sheets("Formular")
With wks
Zeile = .Cells(65536, "A").End(xlUp).Row + 1
If MsgBox("Weiteres Rezept in Liste anfügen?" & vbLf & vbLf _
& " Bei 'Nein' wird die vorhandene Auflistung gelöscht!", _
vbYesNo + vbQuestion, "Rezept zusammenstellen") = vbNo Then
.Range(.Cells(Zeile1, "A"), .Cells(.Cells(65536, "A").End(xlUp).Row + 1, "C")).ClearContents
.Range(.Cells(Zeile1, "A"), .Cells(Zeile1 + Zeilenmax, "A")).HorizontalAlignment = xlCenter
Else
If Zeile1 + Zeilenmax < Zeile + rngAnzahl(1, Application.Range("RezeptNr")) Then
MsgBox ("Rezept hat zu viele Zeilen!  Makro wird abgebrochen.")
Exit Sub
End If
End If
'Nächste freie Zeile suchen
End With
UserForm1.Show
End Sub


Im userform:
Private Sub cbOK_Click()
Dim iI As Integer, wks As Worksheet, Zeile As Long
' Werte in Tabelle eintragen
Set wks = ThisWorkbook.Sheets("Formular")
With wks
'Nächste freie Zeile suchen
Zeile = .Cells(65536, "A").End(xlUp).Row + 1
.Cells(Zeile, 1).Value = "Zusammenstellung " & Format(Application.Range("Gesamtmenge"), "#,##0") & _
" " & Application.Range("Einheit") & " mit Rezept Nr. " & Application.Range("RezeptNr")
.Cells(Zeile, 1).HorizontalAlignment = xlLeft
For iI = 1 To AnzInhalt
If Val(Me.Controls("tbMenge" & Format(iI, "00")).Value) > 0 Then
Zeile = Zeile + 1
.Cells(Zeile, 1).Value = Val(Me.Controls("tbNr" & Format(iI, "00")).Value)
.Cells(Zeile, 2).Value = Me.Controls("tbBeschreibung" & Format(iI, "00")).Value
.Cells(Zeile, 3).Value = CDbl(Me.Controls("tbMenge" & Format(iI, "00")).Value)
End If
Next iI
End With
Unload UserForm1
End Sub

mfg
Franz
Anzeige
AW: Dateneingabe+Berechnung in Box?
12.06.2006 08:16:54
fcs
Hall Spillo,
* Kann man beim Eingabefenster die Felder prüfen, dass nur numerische Eingaben gemacht werden können? Bei Eingabe eines Textes stürtz es ab.
Das kann man indem man das Change-Ereignis jedes Eingabefeldes überwacht. Ist aber hier etwas komplizierter, da man verhindern muss, dass das Programm in eine Endlosschleife gerät, wenn das gesamte Formblatt neu berechnet wird.
* Kann man die Reihenfolge der Eingaben ändern? Dass nach der Eingabe des Gewichtes der Cursor zur Prozenteingabe "springt"?
Das kannst du selber anpassen, indem du im VBA-Editor im Formular für die Eingabefelder die Eigenschaft "TabIndex" anpasst und dadurch die Reihenfolge änderst in der die Eingabefelder bei TAB oder ENTER angesprungen werden.
Optimal wäre natürlich: Wenn Gewichtseingabe größer 0 dann zum nächsten Inhaltsstoff (Gewicht) und sonst zur Prozenteingabe.
Theoretisch auch möglich, aber dann müßten die Prozeduren für 50 Eingabefelder angepaßt werden. Deshalb hatte ich die Reihenfolge der Eingabefeler ja auch so festgelegt, dass nach Abschluß der Eingabe in einem Feld ins nächste Mengenfeld bzw. %-Feld gesprungen wird, da ich annahm, dass entweder nur Mengenwerte oder nur Prozentwerte eingegeben werden.
Die Lösung für das Problem mit der Zahleneingabe bastel ich dir noch ins Blatt (heute oder Donnerstag).
mfg
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige