Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
404to408
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
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Objektübergabe an Funktion

Objektübergabe an Funktion
Klaus
Hallo Liebe Helfer,
ich habe ein Problem damit, wie ich ein Objekt an eine Funktion übergebe.
Mit Set ws_wo = Workbooks(wb_name).Worksheets(dat1) besetze ich ein Objekt mit einem Tabellenblatt. Mit ws_wo.range(....).select markiere ich einen Bereich.
Ich habe mehrere Tabellen, in die ich die gleiche Hilfsspalte einfügen muß.
Alle haben ein "alias"-objekt. Ich möchte nun per Funktion (Hilfsspalte_anlegen) diese Hilfspaltenanlage durchführen und dazu diesen Objektbezug an eine Standardvariable (TAB) übergeben.

Sub Hilfsspalte_anlegen(tab)
tab.activate
...Befehle die die Anlage  durchführen
End Sub

Kann mir jemand weiterhelfen?
Mit freundl. Gruß!
Klaus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Objektübergabe an Funktion
Ramses
Hallo
So ganz komme ich mit der Frage nicht klar.
Aber hier ein Beispiel.
Dieses Beispiel fügt in jeder Tabelle des aktiven Workbooks vor der Spalte A eine Spalte ein und färbt diese gelb.
Option Explicit

Sub Read_Tables()
Dim myWks As Worksheet
For Each myWks In ThisWorkbook.Worksheets
setcolumn (myWks.Name)
Next
End Sub


Sub setcolumn(SetWks As String)
Worksheets(SetWks).Columns(1).Insert Shift:=xlToRight
Worksheets(SetWks).Columns(1).Interior.ColorIndex = 6
End Sub

Gruss Rainer
Anzeige
AW: Objektübergabe an Funktion
Klaus
Hallo Rainer,
danke für die Anwort, ich versuch es nochmal.
Mit
Set ws_wo = Workbooks(wb_name).Worksheets(dat1)
Set ws_baz = Workbooks(wb_name).Worksheets(dat2)
Set ws_sobaz = Workbooks(wb_name).Worksheets(dat4)
Set ws_lpfl = Workbooks(wb_name).Worksheets(dat5)
weise ich z.B. mehrere Tabellenblätter je einem Objekt zu.
Wenn man jetzt "ws_wo.aktivate" aufruft, ist die zugewiesene Tabelle aktiviert.
Da in dem Workbook noch mehr Tabellen sind, die nicht davon betroffen sind, möchte ich eine Funktion benutzen um alle betroffenen Tabellen einzeln im Bedarfsfall aufrufen und an sie dieses Objekt übergeben.
Das heißt:

Sub main
Set ws_wo = Workbooks(wb_name).Worksheets(dat1)
Set ws_baz = Workbooks(wb_name).Worksheets(dat2)
hilfsspalte_anlegen ( ws_wo )
End Sub


Sub hilfsspalte_anlegen(TAB) 'Tab soll das Objekt ws_wo übernehmen
TAB.aktivate 'es soll die Tabelle "ws_wo" aktivieren
TAB.Range("A1:A20").select 'der Bereich der Tabelle die hinter ws_wo steht wird markiert
.... weitere Befehle die die Zellen mit einem Wert füllen
End Sub

Besser verständlich?
MfG. Klaus
Anzeige
AW: Objektübergabe an Funktion
Ramses
Hallo
dann müsste es aber heissen:

Sub main
Set ws_wo = Workbooks(wb_name).Worksheets(dat1)
Set ws_baz = Workbooks(wb_name).Worksheets(dat2)
hilfsspalte_anlegen (ws_wo.Name)
End Sub


Sub hilfsspalte_anlegen(TAB As String) 'Tab soll das Objekt ws_wo übernehmen
Worksheets(Tab).Range("A1:A20").select
End Sub

Select sollte übrigens soweit wie möglich vermieden werden,... ist eigentlich auch nicht nötig.
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige