Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

RefEdit Object in Userform





Frage

Hallo, gibt es eine Möglichkeit in einem Refedit objekt in einer Userform beim Aufruf der Userform schon einen Wert stehen zu haben. Aber diese sollte dynamisch, also bei jedem Aufruf neu und von gewissen Kriterien abhängig, erstellt werden. Danke für die Hilfe Grüße Tino

Antwort 1 von sicci

Hallo Tino,

kannst Du das noch etwas präzisieren?
Das RefEdit soll mit einem Bereich (Vorschlagswert) vorbelegt sein, die UserForm (oder die Vorbelegung des RefEdit?) soll immer wieder neu und bedingt erstellt werden?

Gruß sicci

Antwort 2 von powder

Also beim Aufruf der Userform soll Kontextabhängig der Vorschlagswert als Bereich (z.B &A&1:&B&33 oder so ähnlich sieht das glaub ich aus) eingetragen werden.
danach solle man das frei Ändern können. Der Eintrag solle nur beim Aufruf der Userform erstellt werden, die Userform selber ist fest vorgegeben und enthält mehrere RefEdit felder.

>>kannst Du das noch etwas präzisieren?
JA
>>Das RefEdit soll mit einem Bereich (Vorschlagswert) vorbelegt sein,
JA
>> die UserForm (oder die Vorbelegung des RefEdit?) soll immer wieder neu und bedingt erstellt werden?
Nur die Vorbelegung die Userform bleibt fix und wird ncrmal über ein Trickermakro aufgerufen

Dakne für die Mühe

Grüße
Tino

Antwort 3 von sicci

Hallo Tino,

probier es so:


Private Sub RefEdit1_Enter()

'1. Bedingung beliebig
'2. Bedingung (RefEdit1.Text=""): Muß-Bedingung, 
'damit die 1. Bedingung nur beim Start der UserForm geprüft wird.

If Range("A12") = 1 And RefEdit1.Text = "" Then
   RefEdit1.Text = "Tabelle1!$A$5:$A$8"

'Muß-Bedingung (Else): wenn UserForm nicht neu gestartet, 
'aber in dieses RefEdit zurückgegehrt wird bleibt vorheriger Wert erhalten

Else: RefEdit1.Text = RefEdit1.Text
End If
End Sub
____________________________________________________

Private Sub CommandButton1_Click()

'Übergabe/Verarbeitung des RefEdit-Bereichs in Zellen

Dim bereich As Range
Set bereich = Range(UserForm1.RefEdit1.Value)
Range("A15") = WorksheetFunction.Sum(bereich)
End Sub


Gruß sicci

Antwort 4 von powder

Ok,
erstmal sorry bin aber eben erst dazu gekommen zu testen.
Hab es jetzt auch hinbekommen das es funktioniert.
Zumindest zum Teil dafür schon mal vielen Dank.

Aber leider nicht für mehrere Refedit Felder.
Ich dachte man könnte es für die weiteren ebenso machen aber da hier ja die Bedingung des Aufrufes der UserForm und des Aufrufes (Cursor setzen) des RefEdit Feldes Besteht geht das nicht wenn man mehrere (in dem Fall 5) RefEdit Felder so vorbelegen will.

Vielleicht kann man mir dabei noch mal helfen.
Vielen Dank.

Grüße
Tino

Antwort 5 von powder

Yippi,

Jetzt hab ichs,
Indem ich deine Schleife in

Private Sub UserForm_Initialize()

end sub


verwendet habe, funktioniert es für alle RefEdit felder beim Aufruf.

Vielen Dank Sicci

Grüße
Tino

Antwort 6 von sicci

Hallo Tino,

da hast Du recht, noch mehr: Du brauchst überhaupt keine Schleife. Es langt, wenn Du Deine Bedingung/en ins initialize schreibst und fertig. Sie werden ja dann nur beim initialize-Ereignis abgearbeitet, danach nicht mehr.
Da haben mir die Bäume wohl mal wieder den Wald verstellt.
Sorry, aber schön, daß Du Deine Form zum laufen gebracht hast!

Gruß sicci

Antwort 7 von powder

Hallo sicci,
kann man so sagen. Aber die Schleife ist für die andere Bedingung noch entscheidend, aber für den normalen Aufruf nicht stimmt.
Und noch mals vielen Dank, und viel Spass mit Excell.

Grüße Tino

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: