habe die letzten Tage vom Forum nachstehende Lösung erhalten. Dabei geht es
darum, individuell Blätter per VBA auszublenden. Jetzt habe ich ein Problem. Wenn ich die Zeile
''Abfrage unterdrücken
'Application.DisplayAlerts = False
so belasse (= deaktiviert), dann kann ich mit der InputBox die notwendigen
Zellen auswählen.
Wenn ich aber die Zeile aktiviere, dann kann ich mit der
InputBox nicht mehr auswählen:
Option Explicit
Sub blätteraus()
'Inhaltsverzeichnis aller Tabellenblätter
Dim blatt As Object
Dim zeile As Double
Dim NewSheet As Worksheet
Dim i As Integer
Dim myRange As Range
Dim myC As Range
zeile = 3
'Fehlerhandling
On Error Resume Next
''Abfrage unterdrücken
'Application.DisplayAlerts = False
'Application.ScreenUpdating = False
'Sheet Inhaltsverzeichnis auf jeden Fall löschen
Sheets("Inhaltsverzeichnis2").Delete
'Neues Tabellenblatt mit dem Namen Inhaltsverzeichnis hinzufügen
Set NewSheet = Worksheets.Add
NewSheet.Name = "Inhaltsverzeichnis2"
Sheets("Inhaltsverzeichnis2").Move Before:=Sheets(1) ' = Tabellenblatt als erstes
'Überschrift Einfügen und formatieren
With Sheets("Inhaltsverzeichnis2").Range("A1")
.Value = "Inhaltsverzeichnis"
End With
With Cells(2, 1)
.Value = "sortiert nach Blatt-Nr."
End With
'Laufende Blattnummerierung + Blattname einfügen
For Each blatt In Sheets
Sheets("Inhaltsverzeichnis2").Cells(zeile, 1).Value = "Blatt " & zeile - 2
Sheets("Inhaltsverzeichnis2").Cells(zeile, 2).Value = blatt.Name
zeile = zeile + 1
Next blatt
ActiveSheet.Columns("B:B").EntireColumn.AutoFit
ActiveWindow.DisplayGridlines = False
Range("A3").Select
ActiveWindow.FreezePanes = True
Cells(1, 4).Select
On Error Resume Next
Set myRange = Application.InputBox("Wählen Sie die Tabellenblätter", "Nachbearbeitung", Type:=8)
If myRange Is Nothing Then Exit Sub
For Each myC In myRange
Sheets(myC.Value).Visible = False
Next
'Ursprungszustand wieder herstellen
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Muss ich an der Art der InputBox was ändern?
Besten Dank für eine Hilfe!
mfg
Erich