Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
388to392
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
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable übergeben

Variable übergeben
01.03.2004 01:15:23
Daniel
Hi Leute ich habe Fragen...
ich habe 2 Prozeduren in einem userform:
wie schaffe ich es eine variable, welche ich in prozedur 1 ermittelt hab in prozedur 2 wieder zu verwenden ohne das der fehler "anwendungs- oder objektorientierter fehler" erscheint da die variable leer ist.
und wie, wenn
Prozedur 1 in einem Modul, Prozedur 2 in einem Userform:
Der wert der Variable soll in einer prozedur in einem modul ermittelt werden und dann in einer 2. przedur im userform verwendet werden können.

Danke im vorraus
daniel

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable übergeben
01.03.2004 01:22:32
Norman
Deklarierst Du die Variablen voll? Z.B.:
Dim meinWert as long
Dann kannst Du sie nämlich auch sauber übergeben
sub meineFunc(m as long)
Oder probiers bei der Parameterübergabe mal mit
sub meineFunc(byval m)
wenn Du auf die Typisierung verzichten willst.
Gruß
Norman
AW: Variable übergeben
01.03.2004 01:30:19
Daniel
Kannst du mir das bitte anhand meiner prozedur erklären...
ich möchte mir den variablen: spalte_lager_geschlecht etc in einer anderen prozedur bzw. modul arbeiten können.
Public Static

Sub spalten_lager
For l = 1 To 20 Step 1
Select Case Cells(3, l).Value 'Abhängig von Spaltenüberschrift ermitteln
Case "G"
spalte_lager_geschlecht = l
Case "Artikel Nr."
spalte_lager_artikelnr = l
Case "Kategorie"
spalte_lager_kategorie = l
Case "Beschreibung"
spalte_lager_beschreibung = l
Case "Farbe"
spalte_lager_farbe = l
Case "Größe"
spalte_lager_groesse1 = l
spalte_lager_groesse2 = l + 1
Case "Neu"
spalte_lager_neu = l
Case "Reserviert für..."
spalte_lager_reserviert = l
Case "Händlerware..."
spalte_lager_haendlerware = l
End Select
Next l
l = l
End Sub

Anzeige
AW: Variable übergeben
02.03.2004 19:08:41
Norman
Hi, das sollte sich lösen lassen.
Ich verstehe das so, du willst die Spalten erst im Programm ermitteln, falls einer die Spalten verschiebt, stimmts?
Ok, dann machst Du am Anfang des Moduls folgendes:

dim spalte_lager_geschlecht as long
dim spalte_lager_artikelnr as long
usw.
Dann folgt deine Sub-Routine. Der Unterschied zu dem was Du gemacht hast, ist folgender: Variablen, die in Subs oder Functions genutzt werden, haben eine lokale Lebensdauer, wenn die Funktion wieder verlassen wird, dann sind die Variablen futsch. Deklarierst Du aber die Variablen vor der ersten Sub oder Function in einem Modul, dann haben sie globale Lebensdauer und sind bei Modulen auch aus allen anderen Klassenmodulen oder Formularen erreichbar. Solltest Du mehrere globale Variablen anlegen, die gleich heißen (was man sehr mit bedacht machen sollte), dann kannst Du die "richtige" Variable über Modulname.Variablenname ansprechen.
3 Tipps: Am besten liest Du in der Hilfe ein bisserl über Variablen (globale und lokale) nach und schaust Dir mal an, wie das mit Parameterübergaben an Funktionen und Subs geht und wie man aus einer Function wieder einen Wert zurückliefern kann.
Viele Grüße
Norman
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige