Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1248to1252
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

Hochzählen in UserForm

Hochzählen in UserForm
Andi
Hallo liebe Herber-Gemeinde,
Ich habe ein dringendes Problem.
Ich habe eine Auswahl von z.B. 7 Fehlern. Und diese stehen per Bezeichnungsfeld auf einem Blatt in der UserForm. Neben jedem Fehler habe ich jeweils einen Button ( Befehlsschaltfläche ) und daneben ein Ausgabefeld ( Textfeld ).
In jedem Ausgabefeld sollte zu Beginn 0 stehen und dann beim jeweiligen Buttonclick um 1 hochzählen.
Über Vorschläge zur Realisierung würde ich mich tierisch freuen.
Mfg Andi

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Hochzählen in UserForm
09.02.2012 11:09:02
Oberschlumpf
Hi Andi
Versuch mal:
beispielhaft an Ausgabefeld1
Private Sub Userform_Activate()
Ausgabefeld1.Text = 0
End Sub

Private Sub CommundButton1_Click()
Ausgabefeld1.Text = Val(Ausgabefeld1.Caption) + 1
End Sub
Für Ausgabefeld1 musst du natürlich den Namen eintragen, den du verwendet hast.
Hilfts?
Mein Code ist ungetestet, da ich keine Bsp-Datei von dir sehe.
Ciao
Thorsten
..welche "Fehler" meinst Du ? owT
09.02.2012 11:12:00
robert
AW: ..welche "Fehler" meinst Du ? owT
09.02.2012 11:14:48
Oberschlumpf
Hi Robert
Vllt Fehler, die nur für ihn von Bedeutung sind und hier für die Lösung nicht relevant sind. Also er meint wohl nicht Excel-Fehler, denk ich.
Ciao
Thorsten
Anzeige
AW: ..welche "Fehler" meinst Du ? owT
09.02.2012 11:19:23
Andi
Hi Robert und Thorsten,
Erstmal danke für eure Antworten. :)
Thorsten Du hast Recht die Fehler beziehen sich nicht auf Excel und Robert Dein Vorschlag funktioniert einwandfrei. Klasse!!!
Danke euch beiden nochmal!!! :D
Grüße Andi
?
09.02.2012 11:21:43
Oberschlumpf
ähh Andi
Welchen Vorschlag von Robert meinst du denn?
Ciao
Thorsten
AW: ?
09.02.2012 11:23:16
Andi
Oh sorry habe die Namen vertauscht!!! :D
Deinen meinte ich natürlich Thorsten!
Bye Andi
AW: Hochzählen in UserForm
09.02.2012 13:24:11
Andi
Hallo ich muss leider nochmal nerven und ich hoffe ihr wisst nochmal weiter. :)
Es funktioniert soweit super: Beim klicken des Buttons erhöht sich der Wert im Ausgabefeld nun um +1.
Jetzt doch noch eine Frage: Wie bekomme ich es hin das der sich erhöhte Wert gespeichert bleibt, also beim nächsten schließen und wieder öffnen der Datei der Wert immernoch drin steht?
Danke im vorraus.
Gruß Andi
Anzeige
AW: Hochzählen in UserForm
09.02.2012 14:45:13
Oberschlumpf
Hi Andi
Das geht entweder, indem du den Wert in eine Hilfszelle schreibst, oder indem du den Wert in eine extra Datei speicherst, die vom Code erzeugt wird.
Lösung Zelle:
vorm Beenden:
Private Sub Userform_Terminate()
Range("Z1").Value = Ausgabefeld1.Text
End Sub
nach Starten des Userforms:
Private Sub Userform_Activate()
If Range("Z1").Value  "" Then
Ausgabefeld1.Text = Range("Z1").Value
Else
Ausgabefeld1.Text = 0 'diese Zeile hast du schon
End If
End Sub
wenn mit extra Datei:
vorm Beenden:
Private Sub Userform_Terminate()
Open ThisWorkbook.Path & "\datei.ini" For Output As #1
Print #1, Ausgabefeld1.Text
Close
End Sub
nach Starten des Userforms:
Private Sub Userform_Activate()
Dim liInhalt As Integer
Open ThisWorkbook.Path & "\datei.ini" For Input As #1
Input #1, liInhalt
Close
Ausgabefeld1.Text = liInhalt
End Sub
Was davon hilft?
Ciao
Thorsten
Anzeige
AW: Hochzählen in UserForm
09.02.2012 15:20:14
Andi
Hi Thorsten,
also ich habe es schonmal geschafft, das er den Inhalt der Hilfszellen ausliest und in meiner textbox ausgibt, jedoch schaffe ich es nicht die Werte aus der Textbox in die Hilfszellen zu bekommen
Private Sub Userform_Terminate()
Range("Z1").Value = Ausgabefeld1.Text
End Sub
Damit will er nicht Recht!!! (trotzdem Danke)
Meine Userform_queryclose sieht so aus:

Private Sub Userform_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim wkb As Workbook
Application.ScreenUpdating = False
For Each wkb In Workbooks
If Windows(wkb.Name).Visible Then _
ActiveWindow.WindowState = xlMaximized
Next
Application.ScreenUpdating = True
End Sub

Die Tabelle in der die Hilfszelle steht heißt Definitionen...
Eine Idee?
Anzeige
AW: Hochzählen in UserForm
09.02.2012 19:49:20
Oberschlumpf
Hi
Bei Verwendung von
Range("Z1").Value = Ausgabefeld1.Text
wird der Wert von Ausgabefeld1.Text in die Zelle Z1 im gerade aktuellen Tabellenblatt geschrieben.
Ich weiss aber nicht, ob das gerade aktuelle Tabellenblatt auch das ist, in dem die Zelle Z1 genutzt werden soll.
Dein Textfeld heißt auch Ausgabefeld1.Text, oder?
Sorry, ohne Bsp-Datei von dir kann ich nich weiter helfen.
Ciao
Thorsten
AW: Hochzählen in UserForm
10.02.2012 08:16:25
Andi
Guten Morgen Thorsten,
Mein Textfeld heißt LabelAnzahl1. Und die Tabelle in die es geschrieben werden soll heißt 'Definitionen'. Und da soll es dann in die Zelle E17.
Gruß Andi
Anzeige
AW: Hochzählen in UserForm
10.02.2012 08:38:02
Andi
So Thorsten ich nochmal. :)
Du hattest natürlich Recht. Es funktioniert genau so wie Du es schreibst, danke. Nur wie bekomme ich es hin das die Tabelle 'Definitionen' auch immer aktiv ist wenn ich die UserForm schließe? Denn normalerweise ist immer eine andere Tabelle aktiv.
Gruß Andi
Und danke nochmal
AW: Hochzählen in UserForm
10.02.2012 08:49:25
Andi
Also Thorsten,
es funktioniert Du hattest natürlich Recht. :) Danke.
Ich habe nur das Problem das ich die Tabelle ausgebledet habe und er die Werte dann nicht darin speichert da die Tabelle ja nicht aktiv ist.
Gruß Andi
AW: Hochzählen in UserForm
10.02.2012 16:32:11
Oberschlumpf
Hi Andi
Du musst die Objekte 100% genau referenzieren.
Sheets("Definitionen").Range("E17").Value = LabelAnzahl1.Caption
oder eben umgekehrt.
Aber ist dein "Textfeld" nun ein Textfeld oder ein Bezeichnungsfeld?
Nicht nur die Referenzierung ist wicthig sondern auch die ricthige Bezeichnung.
Denn wenn du das eine sagst, aber das andere meinst, dann kommen wir auch nicht weiter.
Ciao
Thorsten
Anzeige
AW: Hochzählen in UserForm
13.02.2012 08:15:34
Andi
Hallo Thorsten,
Also ich habe es hinbekommen. Es war ein Bezeichungsfeld.
Habe es so gemacht wie Du es beschreibst, also Sheets("Definitionen").Range... usw.
Dankeschön
MfG Andi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige