Prozedur_Change() verbergen ...
10.01.2005 17:19:46
Marco1005
Entschuldigung, dass ich so viel geschrieben habe, aber ich konnte mein Problem nicht in ein, zwei Sätzen erklären. Danke für euer Verständniss ! :o)
durch eine ListBox im UserForm hat der User die Möglichkeit Spalten auszublenden. Diese ergeben eine Tabelle, in der die sichtbaren Spalten automatisch summiert werden. Dafür habe ich eine Funktion, die nur Zellen addiert, wenn diese sichtbar sind.
Das Problem daran ist, dass durch das Ein- u. Ausblenden keine Neuberechnung veranlasst wird. Deshalb setzte ich in die ListBox die "Prozedur_Change()". Jetzt klappt es ....
... aber was mir nicht so recht in mein Konzept passt, ist die Tatsache, dass die Spalten durch die Prozedur_Change in der ListBox bereits beim markieren der Einträge sieht, welche Spalten ausgeblendet werden. Der Benutzer sieht also vorher schon was passiert und nicht erst, wenn die Schaltfläche "Start", die sich ebenfalls auf dem UserForm befindet, gedrückt wird.
Kann ich das irgendwie auf den Start-Button verlegen bzw. verbergen? Anbei die Codes:
Function SummeSichtbar(b As Range)
Dim z As Range
Dim t
t = 0
For Each z In b
If Not z.EntireColumn.Hidden Then
t = t + z.Value
End If
Next z
SummeSichtbar = t
End Function
------------------------------------------------------
Private Sub lst_Zeitrahmen1_Change()
Dim i As Integer
Dim f As Range
With lst_Zeitrahmen1
For i = 0 To .ListCount - 1
Set f = Range("1:1").Find(what:=.List(i), lookat:=xlWhole)
If Not f Is Nothing Then
Cells(1, f.Column).EntireColumn.Hidden = Not lst_Zeitrahmen1.Selected(i)
End If
Next
End With
Range("BV:BV").Dirty
End Sub
Vielen, vielen Dank!
Gruß
Marco