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

UF + Modulzugriff

UF + Modulzugriff
29.01.2004 11:16:06
andrea
hallo leute,
kann mir jemand sagen wie ich einer variablen in meiner UF einen Wert gebe, den ich dann in einem Modul weiterverwenden kann.
hier mein code dazu:

Private Sub CheckBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim eingabe
eingabe = 1
Application.Run "index.xls!meine_prozedur"
End Sub

und hier das modul in der selben mappe
Sub meine_prozedur()
Select Case eingabe
Case 1, 2 'fuer den fall Nr
arr = Array("Nr", "tan")
Case 3, 4 'fuer den fall No
arr = Array("No", "tan")
End Select
For i = 0 To 1
Cells.Find(What:=arr(i), After:=[A1], LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True _
, MatchByte:=False, SearchFormat:=False).Activate
ActiveCell.Offset(1, 0) = "[keine]"
Next

End Sub

aber in "meine_prozedur" ist eingabe nicht = 1 sondern leer?
wie kann ich die variable übergeben?
mit public hab ich es auch schon probiert, funktioniert leider nicht.
danke andrea

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF + Modulzugriff
29.01.2004 11:19:26
(.)
Variable als public deklarieren
hab doch geschrieben mit public geht es nicht o.T.
29.01.2004 11:22:03
andrea
AW: UF + Modulzugriff
29.01.2004 11:22:38
Josef Ehrensberger
Hallo Andrea!
Das Public muss in einem allgemeine Modul stehen, nicht im Modul
der Tabelle!
Du kannst aber den Wert auch direkt an das Makro übergeben.


Private Sub CheckBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim eingabe
eingabe = 1
meine_prozedur eingabe
End Sub

Sub meine_prozedur(eingabe As Integer)
Select Case eingabe
Case 1, 2 'fuer den fall Nr
arr = Array("Nr", "tan")
Case 3, 4 'fuer den fall No
arr = Array("No", "tan")
End Select
For i = 0 To 1
Cells.Find(What:=arr(i), After:=[A1], LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True _
, MatchByte:=False, SearchFormat:=False).Activate
ActiveCell.Offset(1, 0) = "[keine]"
Next
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: UF + Modulzugriff
29.01.2004 11:41:01
andrea
muss das dann so aussehen?
Application.Run "index.xls!meine_prozedur", eingabe?
weil so funktioniert es nicht
hab leider nicht so viel erfahrung mit vba
danke andrea
AW: Aufruf mit Parameterübergabe
29.01.2004 11:25:17
Galenzo
Hallo Andrea,
dazu mußt du deine Sub so ändern, daß ein Parameter übergeben wird - nämlich dein Wert "eingabe", der dann ja innerhalb der Unterprozedur ausgewertet werden soll. Schau dir mal dies an:

Private Sub CheckBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim eingabe As Integer
eingabe = 1
meine_prozedur(Eingabe)
End Sub

Sub meine_prozedur(Auswahl As Integer)
select case Auswahl
'usw.....
End Sub

Bei Aufruf der Prozedur "meine_Prozedur" wir der Prozedur der Parameter "eingabe" mit übergeben. Dieser kann innerhalb der Prozedur auch ganz anders heißen - hier mal "Auswahl").
mfg
Anzeige
danke danke an euch alle hab es hinbekommen o.T.
29.01.2004 11:46:23
andrea

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige