Dateiname an Modul übergeben und ein Array mit dem Inhalt der Datei als Array zurück bekommen
Hallo an Alle,
ich lese in einem Excel- Modul die komplette Excel- Datei ein ein Array aTest(Zeile, Spalte) ein. Das habe ich noch hinbekommen. So nun zu meinem Problem. Das Modul möchte ich aus "DieseArbeitsmappe" starten. Wie kann ich das Array aus dem Modul an die übergeordnete Programmstruktur übergeben.
Dank Euch
Gruß Alex
ich lese in einem Excel- Modul die komplette Excel- Datei ein ein Array aTest(Zeile, Spalte) ein. Das habe ich noch hinbekommen. So nun zu meinem Problem. Das Modul möchte ich aus "DieseArbeitsmappe" starten. Wie kann ich das Array aus dem Modul an die übergeordnete Programmstruktur übergeben.
Dank Euch
Gruß Alex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 134207
Url: https://administrator.de/contentid/134207
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo captainchaos666!
Wenn ich Dich richtig verstanden habe, dann in etwa so:
Gruß Dieter
[edit] Wenn ich das richtig sehe, dann wurde die Überschrift nachträglich geändert? [/edit]
Wenn ich Dich richtig verstanden habe, dann in etwa so:
Sub Test()
Dim aTest As Variant, bTest As Variant
aTest = Array(0, 1, 2, 4)
Call ChangeArray(aTest) 'Bestehendes Array aTest direkt ändern
bTest = GetNewArray(aTest) 'Neues Array geändert zurückgeben
End Sub
Sub ChangeArray(ByRef aTest)
aTest(1) = 100 'Array vom Aufrufer direkt ändern
End Sub
Function GetNewArray(ByVal Test As Variant) As Variant
Test(1) = 200
GetNewArray = Test 'Array vom Aufrufer geändert als neues Array zurückgeben
End Function
Gruß Dieter
[edit] Wenn ich das richtig sehe, dann wurde die Überschrift nachträglich geändert? [/edit]
Hallo captainchaos666!
Exeldateien in Arrays ver/bearbeiten? Kann ich leider nicht ganz folgen?
Du kannst, wie in meinem Beispiel, die Sub ChangeArray und die Function GetArray unverändert in ein Modul verschieben.
Sub's und Functionen in Modulen sind "Public" und können aus anderen Modulen, Arbeitsmappe, Tabellen oder Formularen heraus ganz normal aufgerufen werden. Erst wenn vor einer Sub oder Function ein "Private" steht, dann kann diese Prozedur nur lokal innerhalb der aktuellen Code-Seite aufgerufen werden.
Beispiel Modul1 (Public):
Kann von überall her aufgerufen werden
Beispiel Modul1 (Lokal):
Kann nur innerhalb von Modul1 aufgerufen werden.
Die Größe eines Arrays wird allein durch die entsprechend initialisierte Array-Variable bestimmt. Ob das Array allerdings korrekt von Deiner Modul-Routine verarbeitet wird, hängt allein von Deinem Code ab.
Gruß Dieter
Exeldateien in Arrays ver/bearbeiten? Kann ich leider nicht ganz folgen?
Du kannst, wie in meinem Beispiel, die Sub ChangeArray und die Function GetArray unverändert in ein Modul verschieben.
Sub's und Functionen in Modulen sind "Public" und können aus anderen Modulen, Arbeitsmappe, Tabellen oder Formularen heraus ganz normal aufgerufen werden. Erst wenn vor einer Sub oder Function ein "Private" steht, dann kann diese Prozedur nur lokal innerhalb der aktuellen Code-Seite aufgerufen werden.
Beispiel Modul1 (Public):
Sub Irgendwas(....)
...
End Sub
Beispiel Modul1 (Lokal):
Private Sub WasAnderes(....)
...
End Sub
Die Größe eines Arrays wird allein durch die entsprechend initialisierte Array-Variable bestimmt. Ob das Array allerdings korrekt von Deiner Modul-Routine verarbeitet wird, hängt allein von Deinem Code ab.
Gruß Dieter