Office: Werte in Modul übergeben

Helfe beim Thema Werte in Modul übergeben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, Hab mal wieder ein Problem! Ich möchte ein Teil einer Berechnung in einem zweiten Modul durchführen, da ich diesen Teil auch für andere... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von carame, 24. Januar 2010.

  1. Werte in Modul übergeben


    Hallo,

    Hab mal wieder ein Problem!

    Ich möchte ein Teil einer Berechnung in einem zweiten Modul durchführen, da ich diesen Teil auch für andere VBA-Excel Programme nutzen möchte.
    Jetzt hab ich das Problem, das mir die Werte vom "Userform-Code" nicht in das zweite Modul übergeben werden.

    Im "Userform-Code" habe ich die Werte der Zählerschleife bestimmt, da ich diese für mehrere Schleifen benötige:

    n1=1
    n2=10

    Nun rufe ich mit "Call BerechnungP3.BerechnungP3" das entsprechende Modul auf:

    Public Sub BerechnungP3()

    For n = n1 To n2
    P3(n) = P2(n) * Vp(n)
    Next n

    End Sub

    P2(n) sowie Vp(n) habe ich vorher bereits berechnet.
    Wie muss ich das deklarieren damit mir die Werte von einem Modul ins andere übergeben werden bzw. was mach ich sonst noch falsch?

    Vielen Dank für Eure Hilfe!
    carame

    :)
     
  2. Hallo carame,

    Du kannst die Werte direkt an die Sub in dem anderen Modul übergeben:

    Allgemeines Modul
    Code:
    Aufgerufen wird sie aus einem anderen Modul oder der Userform mit
    Code:
    Andere Möglichkeit:
    In einem allgemeinen Modul beide Variable als Public deklarieren
    Code:
    Dann direkt diese Werte zuweisen mit
    Code:
    Dann stehen diese auch in einem anderen Modul zur Verfügung.

    Grüße
    EarlFred
     
    EarlFred, 26. Januar 2010
    #2
  3. Hallo EarlFred,

    Erst einmal vielen Dank!

    Noch eine Frage zur Deklaration von P3(n), P2(n) sowie Vp(n).
    Diese kann ich ja nicht als Public deklarieren oder?
    Wie kann ich dann diese Werte übergeben?

    Gruss
    carame
     
  4. Werte in Modul übergeben

    Hallo Carame,

    ich rate mal, dass P3, P2 und Vp Arrays sind, oder?

    Wieso sollte man die nicht Public deklarieren können?
    Wenn die erstmal Public sind, kannst Du drauf zugreifen wie gewohnt. Oder was meinst Du?

    Beschreib Dein Problem doch mal in verständlichen Sätzen... Es ist etwas schwierig, aus den paar von Dir hingeworfenen Fragmenten ein Bild Deines Vorhabens zu erzeugen, auf das man auch kompetent antworten kann.

    Grüße
    EarlFred
     
    EarlFred, 26. Januar 2010
    #4
  5. Hallo EarlFred,

    Du hast natürlich recht. Es handelt sich hier um Arrays.

    Ich deklariere die Arrays also im allgemeinen Modul folgendermassen:
    Public P3(1 to 10) as single, P2(1 to 10) as single, Vp(1 to 10) as single

    Nun bekomme ich allerdings eine Meldung:
    Fehler beim Kompilieren!
    Benutzerdefinierte Datenfelder sind als Public- Elemente von Objektmodulen nicht zugelassen.

    Deshalb stellte ich die Frage, ob man Arrays nicht als Public deklarieren kann!
    Muss dazu sagen, dass ich noch Anfänger bin und nicht allzu viel davon verstehe. Aber das hast Du ja sicherlich schon gemerkt ;-)

    Gruss
    carame
     
  6. Hallo carame,

    dann deklarierst Du sie aber nicht in einem allgemeinen Modul, sondern einem Objektmodul....

    Füge mal ein Modul ein (Rechtsklick auf Dein Projekt, einfügen, Modul) und deklarier die Vairablen dort.

    Grüße
    EarlFred
     
    EarlFred, 26. Januar 2010
    #6
  7. Hallo EarlFred,

    Ist das Objektmodul dann das zugehörige Modul der Userform?
    Ich hab den gesamten Code in diesem Fall in das Objektmodul geschrieben.
    Soll ich dann den Code in das neue Modul übernehmen und kann auch von dort auf die Textfelder meiner Userform zugreifen?

    Gruss
    carame
     
  8. Werte in Modul übergeben

    Hallo carame,

    nein, Du kannst nicht auf die Textfelder einer Userform zurückgreifen, wenn diese nicht mehr existiert... Daher ja mein Hinweis, die Werte direkt im Aufruf der Prozedur mit zu übergeben oder eben in globale Variablen zu schreiben.

    Es ist aber auch wirklich schwer zu erraten, was Du eigentlich willst und Dir passende Tipps zu geben, solange Du uns nur mit ein paar Schlagworten und rudimentären Aussagen versorgst. Du wolltest doch Codeteile in ein allgemeines Modul auslagern und fragtest, wie Du die Werte Deiner Userform dorthin übergeben bekommst. Dafür habe ich Dir auch Tipps gegeben.

    Ich verstehe also grad die Frage nicht, ob Du den Code nun auslagern sollst oder nicht. Das musst Du schon selber wissen, ob das in Deinem Fall sinnvoll ist.

    Lies Dir mal ein bisschen was zum Thema "Lebensdauer von Variablen" an und schau allgemein mal in die Excel-VBA-OH oder kauf Dir ein Buch zum Thema, dann wirst Du erstmal mit etwas Basiswissen versorgt.

    Oder beschreib halt wirklich mal in ganzen Sätzen, was Du eigentlich erreichen willst, bevor wir hier weiter aneinander vorbei reden.

    Grüße
    EarlFred
     
    EarlFred, 26. Januar 2010
    #8
  9. Alles klar!

    Und vielen Dank.

    Gruss
    carame
     
Thema:

Werte in Modul übergeben

Die Seite wird geladen...
  1. Werte in Modul übergeben - Similar Threads - Werte Modul übergeben

  2. Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.

    in Microsoft Excel Hilfe
    Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.: Hallo, kann mir jemand bitte bei folgenderm Helfen. Habe etwas ähnliches gefunden was ich brauche, nur noch eine kleine Änderung ist notwendig. Aufgabe: Es wird geprüft, ob in Spalte Q ein Wert...
  3. Abfrageergebnis soll keine doppelten Werte enthalten

    in Microsoft Access Hilfe
    Abfrageergebnis soll keine doppelten Werte enthalten: Ich suche nach einer Lösung für folgendes Problem. In einer Tabelle werden Abwesenheiten erfasst. Verknüpft mit einer Mitarbeitertabelle. So erhalte ich eine Übersicht welcher Mitarbeiter aus...
  4. Teilstring einer Zelle auf Wert aus anderer Zelle überprüfen

    in Microsoft Excel Hilfe
    Teilstring einer Zelle auf Wert aus anderer Zelle überprüfen: Hallo zusammen, ich habe in einer Excel-Tabelle in zwei Tabellenblätter. Tabellenblatt "Artikelstamm" beinhaltet in Spalte A eine Artikel-Nr. und diverse weitere Spalten. Hier ein kleiner Auszug:...
  5. konti aufzählung und wert gleicher konti zusammenfassen

    in Microsoft Excel Hilfe
    konti aufzählung und wert gleicher konti zusammenfassen: hallo ich möchte eine automatische konti aufzählung aller gleichen konti und gleichzeitig die werte gleicher konti zusammenfassen (rot sind die zahlen, welche ich errechnen lassen möchte) danke...
  6. Werte zusammenzählen - ab einer Zelle die nächsten 5

    in Microsoft Excel Hilfe
    Werte zusammenzählen - ab einer Zelle die nächsten 5: Hallo. ich würde gerne eine bestimmte Menge an Zellen zusammenzählen. Genau gesagt: Wenn in einer Zelle (A1) die Zahl 5 steht dann soll Excel ab B2 die nächsten 5 Werte zusammenzählen. Wenn...
  7. Bedingte Formatierung basierend auf Wert anderer Zelle

    in Microsoft Excel Hilfe
    Bedingte Formatierung basierend auf Wert anderer Zelle: Hallo zusammen, beim Erreichen des 18. Lebensjahres (Geburtsdatum Spalte D, Alter automatisch in Spalte E kalkuliert) soll eine bedingte Formatierung den Namen und Vornamen der Teilnehmer (Spalte...
  8. Variablen-werte von Modulen mitnehmen

    in Microsoft Excel Hilfe
    Variablen-werte von Modulen mitnehmen: Hallo Ich habe eine Arbeitsmappe mit mehreren sheets, bei denen ich gleiche Routinen benutze (z.B letzte Zeile ermitteln). Das will ich in ein Modul ablegen um nicht alles mehrmals schreiben zu...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden