kann jemand das Brett vor meinem Kopf entfernen?
Das Problem:
Im Worksheet_change auf dem ersten Blatt öffne ich mir eine Userform wenn der Zellwert ein "nein" enthält.
In der Userform ist eine Combobox1 die mir auf ein zweites Tabellenblatt einen Wert - entweder D E F - schreibt. Wenn die UF geschlossen wird, wird auf das zweite Blatt gewechselt.
Jetzt soll im Worksheet_activate der Tabelle2 mit einer Select Case Anweisung entschieden werden, ob ein gewisser Zeilenbereich ein- oder ausgeblendet ist. Bedingung dafür ist ein Formelergebnis aus Zelle Q42. In dieser Zelle ermittele ich mit einer Wenn-Formel entweder A B oder C und wenn die 3 falsch sind, dann ist das Ergebnis in Q42 der Wert aus Q43 - und der Wert wurde gerade aus dieser Combobox gelesen.
Grundsätzlich funktioniert der Ablauf, aber er macht's nicht mit den richtigen Zeilen.
Die Combobox in der Userform (Tabelle1):
Private Sub CommandButton1_Click()
'den Wert auf Tabelle2 einsteuern
Application.ScreenUpdating = False
Sheets("Tabelle2").Activate
Call Protect_off
If ComboBox1.Value = "A" Then
Sheets("Tabelle2").Range("Q43").Value = "D"
ElseIf ComboBox1.Value = "B" Then
Sheets("Tabelle2").Range("Q43").Value = "E"
Else
Sheets("Tabelle2").Range("Q43").Value = "F"
End If
Call Protect_on
'die UF wieder zu machen
Unload Me
Application.ScreenUpdating = True
End Sub
und dann in Tabelle2:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Call Protect_off
'ActiveSheet.ScrollArea = "A1:A48"
ActiveSheet.ScrollArea = ""
Worksheets(ActiveSheet.Name).Calculate
'zuerst alle Zeilen einblenden
Rows("64:158").EntireRow.Hidden = True
'Dann in Abhängigkeit von Zelle Q42 wieder entsprechenden Bereich einblenden
Select Case Range("Q42").Value
Case "A"
Rows("64:80").EntireRow.Hidden = False
Case "B"
Rows("81:99").EntireRow.Hidden = False
Case "C"
Rows("100:115").EntireRow.Hidden = False
Case "D"
Rows("116:132").EntireRow.Hidden = False
Case "E"
Rows("133:145").EntireRow.Hidden = False
Case "F"
Rows("146:158").EntireRow.Hidden = False
End Select
Call Protect_on
Application.ScreenUpdating = True
End Sub
ich doktere jetzt schon eine ganze Weile rum....habe die Tabelle2 vor der Aktivierung schon neu berechnen lassen - keine Lösung
Das Formelergebnis in Q42 mit ABCDEF stimmt auch immer, hab's kontrolliert - wenn die Combobox gar nichts schreibt (wenn nicht "nein" ausgewählt in Tabelle1), dann habe ich A B oder C. Schreibe ich was mit der Combobox, dann habe ich D E oder F.
what's the f****ng problem...?