ganz unten steht mein Code.
ich habe in einer Tabelle mehrere ComboBoxes, die alle die gleiche Listfillrange haben sollen, diese befindet sich auf einer ausgeblendeten Tabelle.
Die Daten sollen nur über eine Datenmaske geändert werden können.
Über einen CommandButton rufe ich also die Datenmaske auf und erstelle nach Schließen der Datenmaske einen Namen für den Bereich, der in der ComboBox erscheinen soll.
Das funktioniert soweit auch, allerdings nur beim 1. Mal, wenn ich in der Maske etwas ändere, dann bleibt die Liste meiner Combobox gleich, obwohl sie den richtigen Bereich als Listfillrange hat und auch der Bereich alle Felder beinhaltet.
Also irgendwie muss sich die ComboBox updaten, aber ich weiß nicht wie, wenn ich die Arbeitsmappe schließe und wieder öffne, ist der Bereich auch in den ComboBoxes, sobald ich wieder was ändere, habe ich das gleiche Problem wieder.
Ich habe auch schon mit sowas wie
For Each ComboBox in ActiveSheet...
experimentiert, aber auch das nicht hinbekommen.
Weiß da einer eine Lösung?
Bitte helft mir.
Schon mal vielen Dank.
Gruß
Björn
-----------------------------------
Code:
Sub Dataform()
Application.ScreenUpdating = False
Worksheets("Daten").Visible = True
Sheets("Daten").Select
ActiveSheet.Unprotect
Range("A1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
b = Selection.Address 'Bereich für Datenmaske
Worksheets(4).ShowDataForm
Range("A1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="ComboSD", RefersTo:="=" & Worksheets(4).Name & "!" & Range(B).Address
Sheets("Berechnung").Select
Worksheets("Daten").Visible = False
Application.ScreenUpdating = True
End Sub