AW: Werte gelöscht? - von Nepumuk am 08.10.2003 19:45:35
Betrifft: Werte gelöscht?
von: Daniel
Geschrieben am: 08.10.2003 19:34:44
Hallo Freunde,
werden mit
Private Sub Worksheet_Calculate()
Dim index2 As Integer
For index2 = 1 To 217
UserForm6.Controls("TextBox" & CStr(index2)).Value = ""
Next
End Sub
alle Werte in der Textboxen gelöscht?
Danke
Daniel.
Wenn nicht wie werden die Werte auf null gesetzt?
Betrifft: AW: Werte gelöscht?
von: K.Rola
Geschrieben am: 08.10.2003 19:40:06
Hallo,
das kannst du doch ganz leicht mit z.B. 3 textboxen ausprobieren.
Gruß K.Rola
Betrifft: AW: Werte gelöscht?
von: Nepumuk
Geschrieben am: 08.10.2003 19:45:35
Hallo Daniel,
das passt schon so. Wenn du den Textboxen aber andere Namen gibs bzw. gegeben hast, dann mach es so:
Option Explicit
Private Sub Worksheet_Calculate()
Dim Myctrl As Control
For Each Myctrl In UserForm1.Controls
If TypeName(Myctrl) = "TextBox" Then Myctrl.Value = ""
Next
End Sub
Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Betrifft: Danke Nepumuk..'ne Frage noch!
von: Daniel
Geschrieben am: 08.10.2003 20:03:34
Du hast mir bei der Code sehr geholfen und habe ihn etwas erweitert.
Private Sub Worksheet_Calculate()
Dim index1 As Integer
For index1 = 1 To 31
UserForm6.Controls("TextBox" & CStr(index1)) = Cells(53, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 31)) = Cells(54, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 62)) = Cells(55, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 93)) = Cells(56, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 124)) = Cells(57, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 155)) = Cells(58, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 186)) = Cells(59, index1 + 3)
Next
End Sub
Der Code steht in der Tabelle "Okt" und wenn der UF aufrufe funkt richtig.
Wenn ich der UF von eine andere Tabelle aufrufe z.B. "Jan" zeigt mir die Werte von "Okt", obwohl der Code auch in der Tabelle "Jan" steht.
in diese Code ist kein Worksheet genannt, sollte eingentlich für alle Tabelle funkt (die Tabellen sin alle gleich). Was mache ich falsch?
Danke Daniel
Betrifft: AW: Danke Nepumuk..'ne Frage noch!
von: Nepumuk
Geschrieben am: 08.10.2003 20:11:05
Hallo Daniel,
ich habe mich beim ersten mal schon gefragt, warum du das Zuweisen von Werten an bzw. das Löschen von Textboxen einer Userform mit dem Calculate - Ereignis eine Tabelle verbindest. Kannst du mir den Zusammenhang erklären?
Gruß
Nepumuk
Betrifft: AW: Danke Nepumuk..'ne Frage noch!
von: Daniel
Geschrieben am: 08.10.2003 20:32:00
Hallo Nepumuk,
das ist eine gute Frage!!! Mit mein Wissenstad ist schwer zu antworten.
Aber ich versuche es!!!
Also, der UF ist in Showmodal=False. Ich trage in der Tabelle ein und der UF gibt mir
gleich eine Zusammenfassung der Besetzung (Dienstplan). Die Zelle zu lesen haben Formel un deswegen soll man mit Calculate-Ereignis arbeiten (wurde mir von jemand von Forum empfolhen, und funkt auch) damit die Werte immer aktualisiert werden (wenn ich richtig verstanden habe!!!).
In meine Ignoranz habe mir gedacht: wenn die Werte auf null setze und in eine anderen Tabelle der UF aufrufe wird's funkt.
In der Userform6 und in der Textboxen gibt's kein Hinweis auf eine bestimmte Tabelle!!
Jeder TextBox hat als Eigenschaften TAG eine Spalte zugewiesen, mehr nicht!
Sollte eigentlich funktionieren?
Gruß
Daniel
Betrifft: AW: Danke Nepumuk..'ne Frage noch!
von: Nepumuk
Geschrieben am: 08.10.2003 20:44:34
Hallo Daniel,
mach es so:
In den Tabellen folgendes Makro:
Option Explicit
Private Sub Worksheet_Calculate()
loeschen
End Sub
In einem Normalen Modul:
Option Explicit
Public Sub loeschen()
Dim index1 As Integer
With ActiveSheet
For index1 = 1 To 31
UserForm6.Controls("TextBox" & CStr(index1)) = .Cells(53, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 31)) = .Cells(54, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 62)) = .Cells(55, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 93)) = .Cells(56, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 124)) = .Cells(57, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 155)) = .Cells(58, index1 + 3)
UserForm6.Controls("TextBox" & CStr(index1 + 186)) = .Cells(59, index1 + 3)
Next
End With
End Sub
Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Betrifft: AW: Danke Nepumuk..'ne Frage noch!
von: Daniel
Geschrieben am: 08.10.2003 21:01:20
Hallo Nepumuk, du bist ein ASS!!
Danke. Es funft prima!!!!
Ciao
Daniel
Betrifft: AW: Danke Nepumuk..'ne Frage noch!
von: Nepumuk
Geschrieben am: 08.10.2003 21:05:48
Hallo Daniel,
nun fällt mir gerade noch ein Hinweis ein. Beachte den Punkt vor dem Cells-Objekt!!!
.Cells(53, index1 + 3)
Gruß
Nepumuk
Betrifft: Muss der Punkt weg??
von: Daniel
Geschrieben am: 08.10.2003 21:09:11
Hallo Nepumuk,
was ist damit?
Ciao Daniel
Betrifft: AW: Muss der Punkt weg??
von: Nepumuk
Geschrieben am: 08.10.2003 21:35:44
Hallo Daniel,
nein, der ist wichtig, da er die Referenz zur With-Anweisug darstellt.
Gruß
Nepumuk
Betrifft: in Ordnung! Danke oT
von: Daniel
Geschrieben am: 08.10.2003 21:52:52
.