Anzeige
Archiv - Navigation
1312to1316
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
Userform in Function mit Parameterübergabe
23.05.2013 07:42:19
Eric
Hallo VBA-Profis,
ich sitze schon seit einiger Zeit an einem Problem...
Ich habe einen "Main Sub" für den ich eine Function geschrieben habe...
Diese führt immer das Gleiche aus nur für verschiedene "Projekte"!
Jetzt möchte ich in der Function eine Userform aufrufen und das Ergebnis, welches man in einer Combobox auswählt soll in der Function weiterverarbeitet werden können.
der Aufruf in der function mache ich über
UserForm1.Show
Mein Code für die Userform sieht folgendermaßen aus:

Option Explicit

Private Sub UserForm_Initialize()
Dim lngUntersterEintrag As Long
lngUntersterEintrag = ActiveSheet.Cells(Rows.Count, 6).End(xlUp).Row
Me.ComboBox1.List = Range("F2:F" & lngUntersterEintrag).Value
ComboBox1.Style = fmStyleDropDownList
End Sub

Private Sub CommandButton1_Click()
Dim reihe As String
reihe = ComboBox1.Value
Unload Me
End Sub


mit der Variable "reihe" möchte ich dann in der function weiterarbeiten...wie mache ich das?
und dann noch eine nebenfrage zur ComboBox: Was muss ich schreiben, dass in meiner Liste zb der oberste Wert schon vorausgewählt ist?
ich hoffe ihr könnt mir helfen

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform in Function mit Parameterübergabe
23.05.2013 07:45:02
Hajo_Zi
Definiere Reihe in ein Modul mit Public.

AW: Userform in Function mit Parameterübergabe
23.05.2013 07:55:13
Eric
wo genau muss ich das jetzt reinschreiben?
ins "Main-Modul" oder in die function oder in den CommandButtonClick?
und wie muss das aussehen?
so:
public reihe as string

AW: Userform in Function mit Parameterübergabe
23.05.2013 07:57:57
Hajo_Zi
die Schreibeweise ist korrekt, ich hatte geschrieben Modul nichts von Funktion oder CommandButton. Also in Zeile 2 des Moduls.
Gruß Hajo

Anzeige
AW: Userform in Function mit Parameterübergabe
23.05.2013 08:06:39
Eric
Hey,
ich glaube ich stell mich gerade ein bisschen blöd an!
ich habs in die 2. Zeile von meinem Sub geschrieben:
Bekomme aber dann folgende Fehlermeldung:
"Fehler beim Kompilieren" Ungültiges Attribut in Sub oder Function!
Was soll ich machen?

AW: Userform in Function mit Parameterübergabe
23.05.2013 08:07:59
Hajo_Zi
Hallo Erich,
das musst Du den Fragen, der Dir gesagt hat schreibe es in die Sub. Ich war das nicht.
Gruß Hajo

AW: Userform in Function mit Parameterübergabe
23.05.2013 09:16:18
Eric
ich versteh nicht was du mit Modul meinst?
soll ich das über die Sub-Answeisung schreiben oder wie?
kannst du mir es bitte etwas ausführlicher erklären? Danke

Anzeige
AW: Userform in Function mit Parameterübergabe
23.05.2013 09:21:24
Hajo_Zi
ich war davon ausgegangen du hast schon ein Modul für die Funktion.
Im VBA Editor auf Deine Datei gehen, rechte Maustaste, Einfügen Modul.
Ich kann Dein Modul nicht sehen und da kann ich nur von meinem ausgehen und da ist es Zeile 2.
Gruß Hajo

AW: Userform in Function mit Parameterübergabe
23.05.2013 10:35:35
Eric
Hey,
also ich glaube wir haben ein bissl aneinander vorbei geredet,
und zwar habe ich 2 Module
Modul 1 : Mainsub , welche function aufruft
Modul 2 : function
und zusätzlich die Userform, welche in der function aufgerufen wird
in welchem Modul muss ich nun die variable als public deklarieren?

Anzeige
Modul spielt keine Rolle! (owT)
23.05.2013 10:39:00
EtoPHG

AW: Userform in Function mit Parameterübergabe
23.05.2013 10:42:55
Hajo_Zi
benutze eine Würfel, wenn Du Dich nicht entscheiden kannst. Public bedeutet Projekt weit.
Gruß Hajo

und wo ist der andere Code?
23.05.2013 09:33:46
EtoPHG
Hallo Eric,
Zitat:Ich habe einen "Main Sub" für den ich eine Function geschrieben habe...
Diese führt immer das Gleiche aus nur für verschiedene "Projekte"!

Ich sehe nirgends Code für eine Function oder eine Sub ausserhalb der Userform?
Gruess Hansueli

AW: und wo ist der andere Code?
23.05.2013 10:41:50
Eric
Hallo Hansueli...
Sub:
Sub test
If Cells(4, 1).Value = "B01" Then
Sheets("B01").Visible = True
Sheets("B01").Select
Auslastung = Artikel_zuordnen
Sheets("FreiePlätze").Select
Range("A18").Value = Auslastung
Sheets("B01").Visible = False
End If
end test
Function:

Function Artikel_zuordnen()
Artikel_zuordnen = Cells(5, 8)
UserForm1.Show
' hier soll die eingabe der Userform1, also die Auswahl der Combobox in eine Variable  _
abgespeichert werden, mit der ich dann weiterarbeiten möchten
reihe = ComboBox1.Value
End Function

Anzeige
AW: und wo ist der andere Code?
23.05.2013 10:48:26
EtoPHG
Hallo Eric,
Im Modul:
Option Explicit
Public Reihe As String
...dein restlicher Code

In der Userform:
Z.b. vor Me.Hide oder Unload Me , oder in einer Button_Click-Routine
Reihe = Combobox1
Gruess Hansueli

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige