Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textbox hochzählen

Textbox hochzählen
27.12.2007 19:28:00
Stefan
Hallo zusammen,
ich habe in eine Textbox1 eine Zahl als "Value" bei den Eigenschaften reingeschrieben und möchte, das sich diese Zahl immer +1 erhöht, sobald ich einen Button anklicke. Zugleich speichere ich die Datei neu ab. Wenn ich jetzt die Userform, in der die Textbox1 ist, verlasse und neu aufrufe, ist trotz Speicherung der alte Ausgangswert enthalten.
Warum wird dieser trotz Speicherung unmittelbar nach der Werterhöhung um 1 nicht überschrieben? Wenn ich einen Text hinterlege und speichere, bleibt dieser auch erhalten.
Weiss jemand, wo mein Fehler liegt.
Danke für Eure Hilfe.
Gruß
Stefan

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox hochzählen
27.12.2007 19:43:17
Christian
Hallo Stefan,
um den letzten Wert zu speichern, musst du diesen zB in die Tabelle schreiben und beim erneuten Öffnen der Userform (zB beim Initialize-Ereignis) wieder einlesen. Beim Start des Formulars werden die Standwerte übernommen.
Grüße
Christian

AW: Textbox hochzählen
27.12.2007 19:49:30
Beverly
Hi Stefan,
wie schließt du das UserForm? Verwende Me.Hide anstelle von Unload Me, dann bleiben die letzten Einträge erhalten.
________________________________________

AW: Textbox hochzählen
27.12.2007 20:09:00
Stefan
Hallo Karin,
hallo Christian,
erst mal Danke für die schnelle Antwort. Aber zur Lösung reichts leider noch nicht.
Den Wert in eine Zelle zu schreiben möchte ich vermeiden, darum die Versuche mit der Textbox. Das mit dem Me.hide klappt irgendwie nicht so, wenn die Userform wieder öffene, steht der alte Ausgangswert wieder drin. Ich schließe die Userform mit: userform1.hide
Aber nochmal zu meiner Frage: Wenn ich bei den Eigenschaften einer Textbox bei "Text" oder "Value" was eingebe, speichert Excel das doch auch. Warum kann ich das nicht einfach über ein Makro überschreiben und gleich speichern, dann müsste doch der neue Wert drinstehen. Irgendwie stehe ich hier gewaltig auf dem Schlauch.
Aber vielleicht weiss von Euch noch jemand einen Rat.
Gruß
Stefan

Anzeige
AW: Textbox hochzählen
27.12.2007 20:36:44
Gerd
Hallo Stefan,
wo sitzt der Button und wie lautet die Kopfzeile seiner Sub ?
Gruß Gerd

AW: Textbox hochzählen
27.12.2007 20:40:04
Stefan
Hallo Gerd,
die Kopfzeile lautet:
Private Sub Dasneue_Click()
Der Button ist in der gleichen Userform wie die Textbox.
Gruß
Stefan

AW: Textbox hochzählen
27.12.2007 20:45:00
Beverly
Hi Stefan,
benutze die Tag-Eigenschaft der TextBox.
https://www.herber.de/bbs/user/48662.xls
Das UserForm darf jedoch nicht über das X geschlossen werden.
Bis später,
Karin

Anzeige
AW: Textbox hochzählen
27.12.2007 21:55:28
Lars
Hi,
zur Laufzeit erzeugte Werte in Userforms werden nicht gespeichert, die musst du
irgendwo in einer Tabelle oder Dateieigenschaften oder extern speichern.
mfg Lars

AW: Textbox hochzählen
27.12.2007 22:24:42
Gerd
Hallo zusammen,
ein weiterer Ansatz.

Private Sub UserForm_Activate()
TextBox1.Value = Split(Range("Zählerbereich").Address, "$")(2)
ThisWorkbook.Names("Zählerbereich").Delete
ThisWorkbook.Names.Add Name:="Zählerbereich", RefersToR1C1:= _
"=Tabelle1!R" & TextBox1.Value & "C1"
End Sub



Private Sub Dasneue_Click()
TextBox1.Value = (Split(Range("Zählerbereich").Address, "$")(2)) + 1
ThisWorkbook.Names("Zählerbereich").Delete
ThisWorkbook.Names.Add Name:="Zählerbereich", RefersToR1C1:= _
"=Tabelle1!R" & TextBox1.Value & "C1"
End Sub


Grüße Gerd

Anzeige
@Gerd
27.12.2007 23:44:00
Josef
Hallo Gerd,
wenn schon mit Namen, dann braucht man den nicht immer wieder neu Anlegen und man kann auch direkt den Wert zuweisen.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
On Error Resume Next
TextBox1 = Cint(TextBox1) + 1
On Error GoTo 0
End Sub

Private Sub UserForm_Activate()
Dim myName As Name

On Error Resume Next
Set myName = ThisWorkbook.Names("WertausUF")
On Error GoTo 0
If myName Is Nothing Then
    Set myName = ThisWorkbook.Names.Add("WertausUF", 1)
End If
TextBox1.Text = Mid(myName.Value, 2)

Set myName = Nothing
End Sub

Private Sub UserForm_Terminate()
Dim myName As Name

On Error Resume Next
Set myName = ThisWorkbook.Names("WertausUF")
On Error GoTo 0
If myName Is Nothing Then
    Set myName = ThisWorkbook.Names.Add("WertausUF", 1)
End If

On Error Resume Next
myName.Value = Cint(TextBox1)
On Error GoTo 0

Set myName = Nothing
End Sub

Gruß Sepp

Anzeige
AW: @Sepp
29.12.2007 20:42:00
Gerd
Guten Abend Sepp,
danke für die Names - Syntax.
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige