Vba spalten ausblenden

Hallo,

Hab mehrere Excel Sheets, wo die Spalte N in der Tabelle Druck Version
ausgeblendet werden soll. Damit Vba weiß in welchen Sheets die Spalte ausgeblendet werden soll. In der Tabelle Stunden ist die Zelle E1 „Diäten Ges.“ Standart formatiert.

Der script wird mit

Laufzeitfehler"9"

Index auserhalb des gültigen Bereichs

bei

If InStr(Workbooks(a).Worksheets(„Stunden“).Range(„E1“).NumberFormat, „Ges.“) >= 1 Then

unterbrochen.

Danke für die Hilfe Fred

so sieht der script aus.

Private Sub Worksheet_Change(ByVal Target As Range)

'Blendet in der Tabelle Druck Version Spalte N ein aus :
a = 1

If Not Application.Intersect(Target, Range(„F12“)) Is Nothing Then

For a = Workbooks.Count To 1 Step -1

If InStr(Workbooks(a).Worksheets(„Stunden“).Range(„E1“).NumberFormat, „Ges.“) >= 1 Then

If ThisWorkbook.Worksheets(„Einstellungen“).Range(„F12“).Text = „Ja“ Then

Workbooks(a).Worksheets(„Druck Version“).Columns(„n:n“).EntireColumn.Hidden = False

ElseIf ThisWorkbook.Worksheets(„Einstellungen“).Range(„F12“).Text = „Nein“ Then

Workbooks(a).Worksheets(„Druck Version“).Columns(„n:n“).EntireColumn.Hidden = True

End If

End If

Next a

End If

End Sub

Hallo Manfred.

Beim Durchlesen Deiner Problembeschreibung läßt sich für einen Außenstehenden wirklich kaum ein Sinn erkennen. Daher kann ich momentan nur eine Vermutung äußern.
Ersetze mal

InStr(Workbooks(a).Worksheets("Stunden").Range("E1").NumberFormat,"Ges.") \>= 1

durch

InStr(Workbooks(a).Worksheets("Stunden").Range("E1"),"Ges.") \> 0

und probiere es noch mal aus.

Gruß
Carsten

Ersetze mal

InStr(Workbooks(a).Worksheets(„Stunden“).Range(„E1“).NumberFormat,„Ges.“)
>= 1

durch

InStr(Workbooks(a).Worksheets(„Stunden“).Range(„E1“),„Ges.“)
> 0

Hallo Carsten,

Das wars leider nicht.

Hallo,

Du willst was???
mfG Hermes

Hab mehrere Excel Sheets, wo die Spalte N in der Tabelle Druck
Version
ausgeblendet werden soll. Damit Vba weiß in welchen Sheets die
Spalte ausgeblendet werden soll. In der Tabelle Stunden ist
die Zelle E1 „Diäten Ges.“ Standart formatiert.

Hi Manfred,

mangels Kenntnis was du meinst und warum der Code im Change-Ereignis steht u.v.m. trotzdem ein Codeangebot.

Und grundsätzlich wenn dir hier zwei wwwler versuchen zu helfen und beide geben an daß deine Anfrage unverständlich ist, so ist deine Reaktion darauf, die Anfrage unverändert in einem anderen Brett hier zu stellen für alle , auch für dich sehr kontraproduktiv.

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Doit
Doit = ThisWorkbook.Worksheets("Einstellungen").Range("F12").Text
If Not Application.Intersect(Target, Range("F12")) Is Nothing Then
 For a = 1 To Workbooks.Count
 If InStr(Workbooks(a).Worksheets("Stunden").Range("E1"), "Ges.") \>= 1 Then
 With Workbooks(a).Worksheets("Druck Version").Columns("n:n").EntireColumn
 If Doit = "Ja" Then
 .Hidden = False
 ElseIf Doit = "Nein" Then
 .Hidden = True
 End If
 End With
 End If
 Next a
End If
End Sub

Gruß
Reinhard

Hallo,

Es sind mehrere Excel Dateien offen. Nicht bei allen Excel Dateien soll in der Tabelle ‚Druck Version‘ die Spalte N ein - ausgeblendet werden. Damit es in den richtigen Dateien geschiet. Ist in der Tabelle ‚Stunden‘ der jeweiligen Datei die Zelle E1:F1 (verbundene Zellen) mit ‚„Diäten Ges.“ Standart‘ Formatiert. In der Zelle F12 steht entwerder ‚Ja‘ oder ‚Nein‘ als Schalter.

Hoffe nun das verstanden wurde was ich möchte!
Danke Fred