Angenommen, ich habe eine Datei mit 25 Tabellen, von denen 11 verschiedene gleichzeitig angewählt sind.
Wie kann ich diesen Zustand einer Variable übergeben und dann wieder später aufrufen (z.B. beides im Direktbereich)?
Gruss, Peter
Sub ttx()
Dim objSheets
Set objSheets = ActiveWindow.SelectedSheets
Sheets(1).Select
objSheets.Select
End Sub
Sub ttx()
Dim objSheets As Sheets
Dim mySheet
Dim ausGabe As String
Set objSheets = ActiveWindow.SelectedSheets
For Each mySheet In objSheets
ausGabe = ausGabe & IIf(ausGabe = "", "", vbNewLine) & mySheet.Name
Next
MsgBox ("Folgende Sheets sind ausgewählt:" & vbNewLine & ausGabe)
End Sub
Sub tabMFA_in_Direktbereich()
Dim objSheets As Sheets
Dim mySheet
Dim ausGabe As String
Set objSheets = ActiveWindow.SelectedSheets
For Each mySheet In objSheets
ausGabe = ausGabe & IIf(ausGabe = "", "", ", ") & mySheet.Name
Next
'MsgBox ("Folgende Sheets sind ausgewählt:" & vbNewLine & ausGabe)
ausGabe = "Sheets(Array(""" & ausGabe & """)).Select"
ausGabe = Replace(ausGabe, ", ", """, """)
Debug.Print ausGabe
End Sub
Sub AusgewaehlteBlaetterAuswaehlen()
Dim varSHT As Sheets
Set varSHT = ActiveWindow.SelectedSheets
varSHT.Select
End Sub
Gruß,' Liest die ausgewählten Sheets aus
Function getSelectedSheets(Optional myWbk, Optional ByVal WindowNr As Integer = 1) As Sheets
' Wenn keine Arbeitsmappe übergeben, dann aktives Fenster
If IsMissing(myWbk) Or Not TypeOf myWbk Is Workbook Then
Set getSelectedSheets = ActiveWindow.SelectedSheets
' Ansonsten nach Angabe
Else
Set getSelectedSheets = myWbk.Windows(WindowNr).SelectedSheets
End If
End Function