# [VBA] Ein Makro für >1000 Daten in Excel



## Primus852 (22. Oktober 2008)

Hallo zusammen,

ich hoffe ich bin hier richtig.
Ich habe folgendes vor:
Ich habe eine große Datei an Kunden, die ich folgendermaßen in Excel sortiere:

KdNr. - Name - Vorname - Januar - Februar - etc.

Ich möchte zu JEDEM Kunden ein Makro haben, welches mir anzeigt, wann dieser das letzte Mal da war. Ich habe das für EINEN bereits schon hinbekommen, habe also einen Button in der Spalte Januar, der folgendes Makro aufruft:

```
Private Sub btn_jan_Click()
 
SaveSetting "VBAProject", "Optionen", "check0101.value", check0101.Value
SaveSetting "VBAProject", "Optionen", "check0102.value", check0102.Value
SaveSetting "VBAProject", "Optionen", "check0103.value", check0103.Value
SaveSetting "VBAProject", "Optionen", "check0104.value", check0104.Value
SaveSetting "VBAProject", "Optionen", "check0105.value", check0105.Value
SaveSetting "VBAProject", "Optionen", "check0106.value", check0106.Value
SaveSetting "VBAProject", "Optionen", "check0107.value", check0107.Value
SaveSetting "VBAProject", "Optionen", "check0108.value", check0108.Value
SaveSetting "VBAProject", "Optionen", "check0109.value", check0109.Value
SaveSetting "VBAProject", "Optionen", "check0110.value", check0110.Value
SaveSetting "VBAProject", "Optionen", "check0111.value", check0111.Value
SaveSetting "VBAProject", "Optionen", "check0112.value", check0112.Value
SaveSetting "VBAProject", "Optionen", "check0113.value", check0113.Value
SaveSetting "VBAProject", "Optionen", "check0114.value", check0114.Value
SaveSetting "VBAProject", "Optionen", "check0115.value", check0115.Value
SaveSetting "VBAProject", "Optionen", "check0116.value", check0116.Value
SaveSetting "VBAProject", "Optionen", "check0117.value", check0117.Value
SaveSetting "VBAProject", "Optionen", "check0118.value", check0118.Value
SaveSetting "VBAProject", "Optionen", "check0119.value", check0119.Value
SaveSetting "VBAProject", "Optionen", "check0120.value", check0120.Value
SaveSetting "VBAProject", "Optionen", "check0121.value", check0121.Value
SaveSetting "VBAProject", "Optionen", "check0122.value", check0122.Value
SaveSetting "VBAProject", "Optionen", "check0123.value", check0123.Value
SaveSetting "VBAProject", "Optionen", "check0124.value", check0124.Value
SaveSetting "VBAProject", "Optionen", "check0125.value", check0125.Value
SaveSetting "VBAProject", "Optionen", "check0126.value", check0126.Value
SaveSetting "VBAProject", "Optionen", "check0127.value", check0127.Value
SaveSetting "VBAProject", "Optionen", "check0128.value", check0128.Value
SaveSetting "VBAProject", "Optionen", "check0129.value", check0129.Value
SaveSetting "VBAProject", "Optionen", "check0130.value", check0130.Value
SaveSetting "VBAProject", "Optionen", "check0131.value", check0131.Value
 
End
 
End Sub
 
Private Sub UserForm_Initialize()
 
If GetSetting("VBAProject", "Optionen", "check0101.value") = True Then
    check0101.Value = True
Else
    check0101.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0102.value") = True Then
    check0102.Value = True
Else
    check0102.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0103.value") = True Then
    check0103.Value = True
Else
    check0103.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0104.value") = True Then
    check0104.Value = True
Else
    check0104.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0105.value") = True Then
    check0105.Value = True
Else
    check0105.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0106.value") = True Then
    check0106.Value = True
Else
    check0106.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0107.value") = True Then
    check0107.Value = True
Else
    check0107.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0108.value") = True Then
    check0108.Value = True
Else
    check0108.Value = False
End If
If GetSetting("VBAProject", "Optionen", "check0109.value") = True Then
    check0109.Value = True
Else
    check0109.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0110.value") = True Then
    check0110.Value = True
Else
    check0110.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0111.value") = True Then
    check0111.Value = True
Else
    check0111.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0112.value") = True Then
    check0112.Value = True
Else
    check0113.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0113.value") = True Then
    check0113.Value = True
Else
    check0113.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0114.value") = True Then
    check0114.Value = True
Else
    check0114.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0115.value") = True Then
    check0115.Value = True
Else
    check0115.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0116.value") = True Then
    check0116.Value = True
Else
    check0116.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0117.value") = True Then
    check0117.Value = True
Else
    check0117.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0118.value") = True Then
    check0118.Value = True
Else
    check0118.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0119.value") = True Then
    check0119.Value = True
Else
    check0119.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0120.value") = True Then
    check0120.Value = True
Else
    check0120.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0121.value") = True Then
    check0121.Value = True
Else
    check0121.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0122.value") = True Then
    check0122.Value = True
Else
    check0122.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0123.value") = True Then
    check0123.Value = True
Else
    check0123.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0124.value") = True Then
    check0124.Value = True
Else
    check0124.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0125.value") = True Then
    check0125.Value = True
Else
    check0125.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0126.value") = True Then
    check0126.Value = True
Else
    check0126.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0127.value") = True Then
    check0127.Value = True
Else
    check0127.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0128.value") = True Then
    check0128.Value = True
Else
    check0128.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0129.value") = True Then
    check0129.Value = True
Else
    check0129.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0130.value") = True Then
    check0130.Value = True
Else
    check0130.Value = False
End If
 
If GetSetting("VBAProject", "Optionen", "check0131.value") = True Then
    check0131.Value = True
Else
    check0131.Value = False
End If
End Sub
```
Das ganze wird dann in Form eines kleinen Fensters angezeigt, wo ich durch aktivierte checkboxen gleich auf einen Blick sehen kann, wann der Kunde in diesem Monat da war.
Nun möchte ich das ganze aber für >1000 Kunden machen und kann ja nicht für jeden ein eigenes Makro schreiben, zumal ständig welche dazu kommen und meine Mitarbeiter die Liste um Kunden erweitern sollen, ohne Makro-Kenntnisse zu haben.

Ich hoffe mein Problem ist deutlich geworden und ihr könnt mir da helfen. Für jeden Denkanstoß bin ich dankbar. Wenn das vom Grundgedanken her schon der falsche Weg ist bin ich auch für andere Lösungen zu haben, da ich ja noch nicht weit gekommen bin.

LG

PrimuS


----------

