Variablenübergabe von UF zu UF klappt nicht

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Variablenübergabe von UF zu UF klappt nicht
von: LotharR
Geschrieben am: 09.12.2003 15:51:11

Hallo Forum,

in einer (sehr komplexen) UF_1 habe ich u.a. eine Variable "aa" (integer) für die aktive Zeile (aus Scrollereignis) innerhalb der UF als Public definiert. Über eine Anzeige Sub werden dann die benötigten Felder des Tabellenblattes ausgewählt und angeezeigt:


Schnipsel Scrollereignis:


Private Sub ScrollBar1_change()
Worksheets("Aktuelle Preise").Activate
aa = Me.ScrollBar1.Value
Anzeigen
End Sub


Schnipsel Anzeigen:


Private Sub Anzeigen()
Me.MatNr.Value = Cells(aa, 1)
Me.Kurztext.Value = Cells(aa, 2)
Me.Code.Value = Cells(aa, 3)
Me.Wert_kum.Value = Format(Cells(aa, 4), "0,000.00")
Me.Menge_kum.Value = Format(Cells(aa, 5), "0,000.0")
....
End Sub


---

Soweit so gut.

Nun möchte ich in einer zweiten UF weitere Details darstellen. Dazu wollte ich entweder die Variable "aa" oder zumindest die aktive Zeile der UF_1 an die UF_2 übergeben. Leider schlagen alle Versuche fehl:

'Button auf der UF_1:

Private Sub CommandButtonZeigeDetails_Click() '*** s. unten
Dim aad As Integer
aad = ActiveCell.Row 'entweder so oder: aad = aa
'Me.Hide
Load UserForm3d
UserForm3d.Show
'Me.Show
End Sub


*** (aad is Integer) ergibt: ... entspricht nicht dem definierten Typ
*** () 'leer' ergibt: Laufzeitfehler 1004 beim Load bzw. Show
Me.Hide bringt auch nichts ...

Bin für jeden Tipp dankbar

Liebe Grüsse
Lothar
Bild


Betrifft: AW: Variablenübergabe von UF zu UF klappt nicht
von: Nike
Geschrieben am: 09.12.2003 15:57:21

Hi,

lege mal deine Public Variablen in einem separaten Modul ab,
nicht im Code deiner UF...

Bye

Nike


Bild


Betrifft: AW: Variablenübergabe (@Nike)
von: LotharR
Geschrieben am: 09.12.2003 16:02:14

Danke Nike,

hab grad festgestellt, dass ich mich verschrieben habe: nicht Public sonder Private sind die definiert.

Heisst dass jetzt, dass ich alles von Private auf Public ändern sollte?
Normal sollten doch die Variablen am besten auf Prozedur- oder max. auf Modulebene beschränkt bleiben ... So predigen es hier alle ;) "die Übergabe sei der elegantere Weg .."

Danke
Lothar


Bild


Betrifft: AW: von Predigern und Ketzern ;-)
von: Nike
Geschrieben am: 09.12.2003 16:05:44

Hi,

schon klar das DIE das hier alle predigen,
nur manchmal muss man sich zwischen "schönem" Code und
einer funktionalen Lösung entscheiden ;-)
Ok, Public birgt noch die Gefahr, das die Variable
ungewollt verändert wird,
dass sollte man halt bei der Programmierung berücksichtigen ;-)

Also, es muß ja auch nicht alles Public sein,
nur was du übergeben möchtest...
Es bietet halt nur Access die Möglichkeit
Variablen beim UF Aufruf mitzugeben
und das kommt wohl nicht von ungefähr...

Bye

Nike


Bild


Betrifft: AW: von Predigern und Ketzern ;-) DANKE ..
von: LotharR
Geschrieben am: 09.12.2003 16:12:57

..das beruhigt mich wieder ;)

Ciao
Lothar


Bild


Betrifft: AW: Variablenübergabe von UF zu UF klappt nicht
von: Michael Schefler
Geschrieben am: 09.12.2003 22:07:46

Hi,

man kann auch via Tag der UserForm Variable übergeben, ist nicht superkomfortabel, aber geht.

Gruß

Micha


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zellen mit Bezug kopieren"