Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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
Inhaltsverzeichnis

Tabellenblatt an Funktion/Sub übergeben

Tabellenblatt an Funktion/Sub übergeben
21.03.2017 13:08:36
Michael
Servus,
selbst nach ewigen Forengesuche, krieg ich mal wieder was nicht gebacken.
Folgendes:
Ich habe mir für eine relativ "komplexe" Aufgabe 2 Makros geschieben (lang in 2 Modulen) und beide funktionieren auch Eigenständig (bisher nur in Extradateien)
Der Ablauf ist wie folgt.
Modul1 Sub1 sortiert und verschiebt Daten in ein Tabellenblat WsEinzel
Innerhalb einer Schleife will ich nun Modul2 Sub2/

Function aufrufen um WsEinzel nochmals zu sortieren.
Jetzt wollte ich einfach das besagte Blatt an Sub2 übergeben aber es läuft einfach nicht.

Sub Sub1()
Dim WsEinzel As Worksheet
Set WsEinzel = Worksheets("Zwischenschritt")
Call Sortieren(ActiveWorkbook.WsEinzel)
End Sub

~f~
---------
~f~
Sub Sortieren(WS1 As Worksheet)
'Sortieren = WS1 brauche ich so etwas vlt?
End Sub
---------
zum aufrufen hab ich jetzt schon alles ausprobiert
Sortieren als

Sub / Function
Aufruf via
- WsEinzel = Sortieren ActiveWorkbook.WsEinzel
- Sortieren ActiveWorkbook.WsEinzel
Vielen Dank für jede Hilfe
VG
Michael


		

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt an Funktion/Sub übergeben
21.03.2017 13:31:05
Mullit
Hallo,
Du hast es eigentlich schon, das ActiveWorkbook muß da weg...
Option Explicit
Sub Sub1()
Dim WsEinzel As Worksheet
Set WsEinzel = ThisWorkbook.Worksheets("Zwischenschritt")
'// mach was mit dem Sheet.....
Call Sortieren(WsEinzel)
End Sub
Sub Sortieren(WS1 As Worksheet)
'// mach noch mehr mit dem Sheet z.B. Zelle A1 auslesen...
MsgBox WS1.Cells(1, 1).Value
End Sub

Gruß, Mullit
AW: Tabellenblatt an Funktion/Sub übergeben
21.03.2017 13:31:09
ChrisL
Hi Michael
Ich glaube du bist schon nahe dran...
Sub Sub1()
Dim WsEinzel As Worksheet
Set WsEinzel = ActiveWorkbook.Worksheets("Zwischenschritt")
Call Sortieren(WsEinzel)
End Sub

Sub Sortieren(WS1 As Worksheet)
With WS1
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
.Sort.SetRange .Range("A2:C4")
.Sort.Header = xlNo
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
End Sub

Der Sortier-Code ist als Beispiel zu verstehen.
cu
Chris
Anzeige
AW: Tabellenblatt an Funktion/Sub übergeben
21.03.2017 13:34:32
Michael
Habs hinbekommen, hier die Lsg/Variante dier Vollständigkeit halber
----------
<pre>Sub Sub1()
...
Dim WsEinzel As Worksheet
Set WsEinzel = Worksheets("Zwischenschritt")
...
Set WsEinzel = Sortieren(Sheets("Zwischenschritt"))
...
End Sub</pre>
~f~
------------
~f~
<pre>Function Sortieren(WS1 As Worksheet)
...
Set Sortieren = WS1
End Function</pre>
AW: Tabellenblatt an Funktion/Sub übergeben
21.03.2017 13:37:15
Michael
Hab gerade die Zeitgleichen Antworten gesehen
Vielen Dank für die Unterstützung

36 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige