Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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
Inhaltsverzeichnis

zahlreiche UserForm-Probleme von leicht bis schwer

zahlreiche UserForm-Probleme von leicht bis schwer
23.01.2013 20:45:27
leicht
https://www.herber.de/bbs/user/83541.xlsm
Hallo liebe Profi-VBAler,
Ich bin momentan dabei aus einfachsten Mitteln eine Daten-Basis für meine Masterthesis zusammen zubauen. Ich beschäftige mich nun schon sehr lange mit dieser Aufgabe und habe auch schon sehr viele Lösungen hier und in anderen Foren gefunden. Dieser teil ist nur ein Baustein in meiner Arbeit. Die anderen Excel-Fragen habe ich aber gelöst. Die User-Form stellt eine große Herausforderung dar und es schein, als habe ich mich hier etwas übernommen. Für einige hier wird es ein leichtes sein, aber ich komme nicht weiter.
Im Anhang also der Teil welcher mir Probleme bereitet. Das Ziel ist es, alle Daten zu einem Lagerartikel auf einen Blick zu erhalten.
Problem 1: Ich ziehe mir die Daten aus einer Programm-Auswertung im .txt Format. Die Daten habe ich schon entsprechend in der Datei „Gesamte Mindermengen“ per VBA eingefügt und angeordnet. Wenn ich die Daten in die Text-Felder einlese stehen aber immer die Original-Kommawerte. Dies brauche ich nicht, sie sind viel zu unübersichtlich. Daher die Frage wie ich nur ganze Zahlen in den Textfeldern anzeigen lassen kann.
Problem 2: Ich kann in der Artikelliste mit dem „Drehfeld“ hin und her navigieren.(Klappt sehr gut) Die Suche über den Suchbutton liefert mir aber seltsamerweise bei einigen „willkürlichen“ Textfeldern eine Fehlermeldung. Auch funktioniert über den Drehknopf das Mindermengen-Feld/Artikelbezeichnung nicht bzw. nur selten. Diese sind in der Mitte / Oben in der und geben aus Zeile A an, wo ein Minderbestand ist / welcher Artikel. Es WILL einfach nicht. Sobald ich das Feld aktiviere gibt es Fehlermeldungen.
Problem3: Ich hätte gerne ein Diagramm, welches die verkauften Mengen aus den Textfeldern für die Monate Jan–Dez nach Lager Nummer farblich anzeigt. Ist das Möglich und wenn ja, wie kann ich das machen das dies beim Aufruf eines Artikels immer angezeigt wird. Kann ich dort auch die Mindestbestände als Grenzlinie anzeigen lassen?
Problem 4: Die Monatsangaben über den Verkaufsmengen rotieren während des Jahres. Daher lese ich auch dies über einen Verweis ein. Diese Datumsangaben sind immer zum ersten eines Monats. Daher als 01.02.2012 / 01.02.2012 etc. Wie kann ich hier nur Jan ./ Feb./ etc. anzeigen lassen?
Problem 5: Ich habe versucht die Summe aus den verkauften Textfeldern für Januar / Februar etc. zu bilden. Hier habe ich zich Methoden probiert, aber irgendwie will er nicht rechnen.
Warnung: Wenn Ihr euch den Code anschaut, bitte nicht erschrecken. Ich bin eher Jäger und Sammler als Programmierer. Ich suche lange, finde etwas und passe es dann an meine Bedürfnisse an. Hier aber finde ich nicht wirklich etwas was auf mein Prinzip anzuwenden ist oder mit dem Rest harmoniert.
Wer kann mir zu den einzelnen oder allen Punkte helfen? Freue mich auf eure konstruktiven Antworten.
Gruß und vielen Dank schon mal,
Nubilo
PS: Der Anhang wurde auf wenige Daten reduziert. Normalerweise wird Ecxel 2010 verwendet, aber mein Heim-PC hat das ganze nun konvertiert. Sollte dies zu Problemen führen kann morgen das ganze im Originalformat nachgeschoben werden.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lösung zu 4.
24.01.2013 08:28:55
Marc
Moin!
Du musst den Datumswert formatieren:

Monat_1.Text = Format(Cells(1, 99), "MMM")
Monat_2.Text = Format(Cells(1, 100), "MMM")
Monat_3.Text = Format(Cells(1, 101), "MMM")
Monat_4.Text = Format(Cells(1, 102), "MMM")
Monat_5.Text = Format(Cells(1, 103), "MMM")
Monat_6.Text = Format(Cells(1, 104), "MMM")
Monat_7.Text = Format(Cells(1, 105), "MMM")
Monat_8.Text = Format(Cells(1, 106), "MMM")
Monat_9.Text = Format(Cells(1, 107), "MMM")
Monat_10.Text = Format(Cells(1, 108), "MMM")
Monat_11.Text = Format(Cells(1, 109), "MMM")
Monat_12.Text = Format(Cells(1, 110), "MMM")
Gruß,MCO

Anzeige
AW: Lösung zu 4.
24.01.2013 14:14:09
Nubilo
Hallo, danke für das Datumsformat. -> Die Kommas habe ich selbst weg bekommen durch:

UserForm.L_08_03.Text = Format(Cells(aktZeile, 127), "0")
Inzwischen habe ich es auch geschaft die userForm automatisch zu starten wenn ich in die erste zeile klicke.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) '
If Not Intersect(Range("A:A"), Target) Is Nothing Then UserForm.Show
aktZeile = ActiveCell.Row
aktuZeile = Target.Row
UserForm.TextBox1 = Cells(Target.Row, 3)
UserForm.TextBox2 = Cells(Target.Row, 4)
UserForm.Minderbestand = Cells(aktZeile, 1)
Mein Problem. Er öffnet beim ersten Mal die userForm und sie ist leer. Wenn ich sie schließe und woandershin klicke, öffnet sich die userform mit den Werten von der vorherigen Zeile. Ich möchte aber gleich beim ersten mal die Werte aus dieser zeile angezeigt bekommen.
Mein SpinButton funktioniert immernoch nicht. In dieser Variante startet er auch wenn ich in zelle 50 klicke immer bei Zeile 1. Wenn ich die auskommentierte Zeile aktiviere lässt er es nur zu das ich nur einen Wert hoch und einen runter, aber nicht wieder auf den ausgangswert zurück kann. Wie kann ich hier weiter kommen?
Private Sub SpinButton1_SpinUp()
Windows("2013.01.23_Mindermengen.xlsm").Activate
'  aktZeile = ActiveCell.Row
aktZeile = aktZeile + 1
Call ZeileLesen
End Sub
Und meine Suchfunktion sucht nicht mehr ((((
Und auf das Grafikproblem bin ich noch nicht eingegangen. )))
Wer kann mir hier weiterhefen?

Anzeige
Chaos, nicht nachvollziehbar.
25.01.2013 07:58:36
Marc
Moin!
Sorry aber ich glaub nicht, dass es möglich ist, dir zu folgen.
Ich kann z.B. nicht sehen, wo das Datumsformat gelandet ist, dass ich dir im letzten Posting empfohlen hab
.
Dieser Code funktioniert bei mir nicht:

If Not Intersect(Range("A:A"), Target) Is Nothing Then UserForm.Show

zumal er nur halb angegeben wurde. Bei sieht er so aus:
If Not Intersect(Range("A:A"), Range(Target.Address)) Is Nothing Then

und bezieht sich (wie bei dir auch) auf eine SPALTE, nicht auf eine ZEILE.
Es wird immer wieder auf ein Fenster "2013.01.23_Mindermengen.xlsm" Bezug genommen. In der Mappe ist kein solcher Bezug!
Befüllen der Userform-Felder:
Versuch mal, ob du nach dem Aufruf "userform.show" mit Userform.initialize arbeiten kannst. Das vermisse ich noch in der Mappe.
Es ist zwar eine etwas größere Umbaumaßnahme, aber bei mindestens 5x12 Datensätzen könntest du mal versuchen, daraus eine Schleife bzw ein Array zu machen. Office-Hilfe steht dir da mit reichlich Beispielen zur Seite.
Wenn du dann noch was zu fragen hast, lad bitte eine aktuelle Version von deiner Mappe mit hoch. Es wird kaum einer deine Änderungen in die alten Versionen einbauen um dann zu helfen. Außer mir. Vielleicht.
Gruß, MCO

Anzeige
AW: Lösung zu 4.
24.01.2013 14:17:18
Nubilo
Hallo MCO,
danke für das Datumsformat. Ein kleiner Lichtblick ist das )))
-> Die Kommas habe ich selbst weg bekommen durch:

UserForm.L_08_03.Text = Format(Cells(aktZeile, 127), "0")
Inzwischen habe ich es auch geschaft die userForm automatisch zu starten wenn ich in die erste zeile klicke.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) '
If Not Intersect(Range("A:A"), Target) Is Nothing Then UserForm.Show
aktZeile = ActiveCell.Row
aktuZeile = Target.Row
UserForm.TextBox1 = Cells(Target.Row, 3)
UserForm.TextBox2 = Cells(Target.Row, 4)
UserForm.Minderbestand = Cells(aktZeile, 1)
Mein Problem. Er öffnet beim ersten Mal die userForm und sie ist leer. Wenn ich sie schließe und woandershin klicke, öffnet sich die userform mit den Werten von der vorherigen Zeile. Ich möchte aber gleich beim ersten mal die Werte aus dieser zeile angezeigt bekommen.
Mein SpinButton funktioniert immernoch nicht. In dieser Variante startet er auch wenn ich in zelle 50 klicke immer bei Zeile 1. Wenn ich die auskommentierte Zeile aktiviere lässt er es nur zu das ich nur einen Wert hoch und einen runter, aber nicht wieder auf den ausgangswert zurück kann. Wie kann ich hier weiter kommen?
Private Sub SpinButton1_SpinUp()
Windows("2013.01.23_Mindermengen.xlsm").Activate
'  aktZeile = ActiveCell.Row
aktZeile = aktZeile + 1
Call ZeileLesen
End Sub
Und meine Suchfunktion sucht nicht mehr ((((
Und auf das Grafikproblem bin ich noch nicht eingegangen. )))
Wer kann mir hier weiterhefen?
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige