Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
Tabellenarray an Tag der Ufrm übergeben
Peter
Hallo Forum,
ich möchte bestimmte Tabellenblätter, die als Array zusammengefasst sind,
einer Variable zuordnen.
Diese Variable soll bei Aufruf der Ufrm durch eine
Schaltfläche der Tag Eigenschaft der Ufrm übergeben werden und entsprechende
Tabellenblätter ein bzw. ausblenden.
Geht das überhaupt? Bisher habe ich diesen Vorgang mit einer Suche mit ForEach
erledigt.
Wenn es irgendwie geht würde ich mich über ein kleines Bsp. mit kurzer Erklärung
(zum Nachvollziehend des Vorganges) sehr freuen.
Danke Peter
Sub Makro2()
' Makro2 Makro
' Makro am 06.12.2009 aufgezeichnet
Sheets(Array("Vorl Z 13", "Vorl Z eS 01", "Vorl Z 09", "Vorl Z 08", "Vorl Z 07", _
"Vorl Z 06", "Vorl Z 05", "Vorl Z 04", "Vorl Z 02 ", "Vorl Z 01")).Select
Sheets("Vorl Z 01").Activate
ActiveWindow.SelectedSheets.Visible = False
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenarray an Tag der Ufrm übergeben
06.12.2009 10:29:57
Nepumuk
Hallo,
ein Beispiel:
In einem Standardmodul:
Option Explicit

Public Sub Beispiel()
    With UserForm1
        'hier werden die Sheets an die SheetArray-Eigenschaft des Userforms übergeben
        Set .SheetArray = Worksheets(Array("Tabelle1", "Tabelle2", "Tabelle3"))
        'Userform anzeigen
        .Show
    End With
End Sub

Im Modul des Userforms:
Option Explicit

Private mobjSheetArray As Sheets

Friend Property Set SheetArray(objSheetArray As Sheets)
    Set mobjSheetArray = objSheetArray
End Property

Private Sub CommandButton1_Click()
    Dim objSheet As Object
    'Einblenden
    For Each objSheet In mobjSheetArray
        objSheet.Visible = True
    Next
End Sub

Private Sub CommandButton2_Click()
    Dim objSheet As Object
    'Ausblenden
    For Each objSheet In mobjSheetArray
        objSheet.Visible = False
    Next
End Sub

Ein Userform ist eine Klasse (ein Objekt) und du kannst einer Klasse eigene Eigenschaften geben. In diesem Fall ist die Eigenschaft selbst wieder ein Objekt, nämlich dein Array aus Sheets. Um dieses Array zu füllen, benötigst du eine Property-Set Prozedur (Property~Eigenschaft).
Gruß
Nepumuk
Anzeige
AW: Danke Nepumuk
06.12.2009 12:47:12
Peter
Vielen Dank für die Erklärung und dem Beispiel.
Peter

36 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige