Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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
Variable von Sub an Modul übergeben
02.02.2020 16:32:58
Sub
Hallo zusammen,
ich benötige bitte mal eure Hilfe bei der Übergabe von Variablen von einer Sub an die andere.
In einem Modul rufe ich eine Sub auf und möchte anschließend mit der darin verarbeiteten Variable weiterarbeiten. Aufgrund von stetigen Neuberechnungen können die variablen nicht als public deklariert werden. welche anderen Möglichkeiten gibt es? Vielen Dank schon mal
Ganz einfach ausgedrückt:
Sub Berechnung1
Dim Summe as Double
Dim Anzahl as Integer
Call Basiswert
Summe = Anzahl x Typ
MsgBox Summe
End sub
Sub Basiswert
Dim Typ as Double
Dim Wert as Integer
Wert = "55"
Typ = 15 x Wert
End sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable von Sub an Modul übergeben
02.02.2020 16:35:07
Sub
Makro4 Typ
Makro4(LoWert as Long)

AW: Variable von Sub an Modul übergeben
02.02.2020 17:24:14
Sub
Leider sagt mir das nur Bahnhof :(
AW: Variable von Sub an Modul übergeben
02.02.2020 17:25:42
Sub
das das wort Sub vor Makro4 stehen muss habe ich als bekannt angenommen.
Gruß Hajo
AW: Variable von Sub an Modul übergeben
02.02.2020 16:40:58
Sub
Hi
z.B.
Sub Berechnung1()
Dim Summe as Double
Dim Anzahl as Integer
Anzahl = 3
Summe = Anzahl x Basiswert(55)
MsgBox Summe
End Sub

Function Basiswert(intWert As Integer) As Double
Basiswert = 15 x intWert
End Sub
cu
Chris
Anzeige
AW: Variable von Sub an Modul übergeben
02.02.2020 17:27:59
Sub
Hi Chris,
danke für deine schnelle Antwort. Das Beispiel war relativ einfach gefasst.. In meinem Modul werden über die Call Aufforderung div. Array eingelesen, die anschließend an das bereits laufende Modul übergeben werden und anschließend in einer Userform ausgegeben werden. Ich hab versucht das über deinen Lösungsansatz der Function darzustellen, bekomme es leider aber nicht hin :( Irgend eine andere Idee?
Aktuell wird der Wert der korrekt in der Sub ins Array eingelesen wird, in der Userform als "0" dargestellt.
Danke & LG
Stefan
AW: Variable von Sub an Modul übergeben
02.02.2020 17:36:55
Sub
Hallo Stefan,
ein Beispiel für ein Array:
Option Explicit

Public Sub Beispiel()
    Dim astrarray() As String
    Dim ialngIndex As Long
    Call Test(astrarray)
    For ialngIndex = LBound(astrarray) To UBound(astrarray)
        MsgBox astrarray(ialngIndex)
    Next
End Sub

Private Sub Test(ByRef prastrArray() As String)
    Redim prastrArray(2)
    prastrArray(0) = "eins"
    prastrArray(1) = "zwei"
    prastrArray(2) = "drei"
End Sub

Gruß
Nepumuk
Anzeige
AW: Variable von Sub an Modul übergeben
02.02.2020 18:50:40
Sub
Hi Nepumuk,
danke für deine schnelle Hilfe. Ich habe eben deinen Code kopiert und er funktioniert hervorragend.
Wie verhält sich der Code sobald das Array vom Format Integer und nicht String ist?
Ich erhalte aktuell eine Fehlermeldung:
Unverträglicher Datentyp: Datenfeld oder Benutzerdefinierter Typ erwartet
Danke & LG
Stefan
AW: Variable von Sub an Modul übergeben
02.02.2020 19:12:48
Sub
Hallo Stefan,
so:
Public Sub Beispiel()
    Dim aintArray() As Integer
    Dim ialngIndex As Long
    Call Test(aintArray)
    For ialngIndex = LBound(aintArray) To UBound(aintArray)
        MsgBox aintArray(ialngIndex)
    Next
End Sub

Private Sub Test(ByRef praintArray() As Integer)
    Redim praintArray(2)
    praintArray(0) = 1
    praintArray(1) = 2
    praintArray(2) = 3
End Sub

Gruß
Nepumuk
Anzeige
AW: Variable von Sub an Modul übergeben
02.02.2020 19:12:49
Sub
Hallo Stefan,
so:
Public Sub Beispiel()
    Dim aintArray() As Integer
    Dim ialngIndex As Long
    Call Test(aintArray)
    For ialngIndex = LBound(aintArray) To UBound(aintArray)
        MsgBox aintArray(ialngIndex)
    Next
End Sub

Private Sub Test(ByRef praintArray() As Integer)
    Redim praintArray(2)
    praintArray(0) = 1
    praintArray(1) = 2
    praintArray(2) = 3
End Sub

Gruß
Nepumuk
Anzeige
AW: Variable von Sub an Modul übergeben
02.02.2020 19:39:49
Sub
Hi Nepumuk,
ich hatte bei deinem ersten Code das Private Sub und Public Sub überlesen. Nun erscheint eine andere Fehlermeldung.
Sub oder Function nicht definiert. Woran könnte das liegen?
Im Modul ruf ich die Funktion wie folgt auf:
Dim Anzahl_Trades2() As Integer
Call Test(Anzahl_Trades2)
Und die Private Sub lautet:
Option Explicit
Public wb_TJ As Workbook
Private Sub Test(ByRef Anzahl() As Integer)
Dim letzteZeileNeuesArray As Long
Dim vArr1 As Variant
Set wb_TJ = Workbooks("Trading_Journal.xlsx")
letzteZeileNeuesArray = wb_TJ.Worksheets("Tabelle1").Range("A" & Rows.Count).End(xlUp).Row
vArr1 = wb_TJ.Worksheets("Tabelle1").Range("N2:N" & letzteZeileNeuesArray).Value
ReDim Anzahl(0)
Anzahl(0) = Application.WorksheetFunction.Sum(vArr1)
End Sub
Danke für deine Hilfe
Anzeige
AW: Variable von Sub an Modul übergeben
02.02.2020 20:16:30
Sub
Konnte es eben selbst lösen :) Trotzdem vielen lieben Dank für das Aufzeigen des Lösungsweges!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen