Codelösung
12.02.2015 14:10:25
Horst
Macro soll aber starten wenn d116=0 und in Spalten R und S sich irgendeine Zelle ändert die =>0 ist, wenn alle zellen leer soll nichts starten.
nun hoffe ich es verständlich beschrieben habe und bin gespannt wie die Lösung sein wird. Muss dazusagen , bin vollkommen Amateur.
+++++++++++++
Private Sub Worksheet_Change(ByVal Target As Range)
If [d116] = 0 Then Exit Sub
'wenn keine Änderung erkannt wird, wird das Makro nicht ausgeführt
af = [b116:b131] 'Indizes der für das AF qualifizierten Teams
pfad = ThisWorkbook.Path & "\" 'Pfad dieser Datei = Pfad zu den Bilddateien
For i = 1 To 16 'Schleife von 1 bis 16; die 16 Bildobjkete (clt1 bis clt16) abarbeiten
bildnr = af(i, 1) 'Ermittelt die Nummer das anzuzeigenden Wappens
bilddatei = "clt" & bildnr & ".gif" 'Name der Grafikdatei
If Dir(pfad & bilddatei) = "" Then 'Überprüfen, ob die Datei vorhanden ist
p = "" 'Datei kann nicht gefunden werden, kein Bild laden
Else
p = pfad & bilddatei 'Datei vorhanden, Bilddatei laden
End If
'die Objekte heißen clt1 bis clt16; entsprechend muss im Makro auch af für den Namen genutzt _
werden
'das 'i' als Schleifenvariable durchläuft, während das Makro abgearbeitet wird, die Werte von 1 _
bis 16
'es wird also zunächst das Objekt "clt" & 1 = clt1, dann "clt" & 2 = clt3 usw. abgearbeitet
'insgesamt wird der folgende Befehl damit 16 mal ausgeführt, wobei i die Werte von 1 bis 16 _
durchläuft
' den einzelnen Objelkten clt1 bis clt16 wird dabei immer das durch den Bereich b116:b131 _
vorgegebene Wappen zugeordnet
ActiveSheet.OLEObjects("clt" & i).Object.Picture = LoadPicture(p) 'Grafik dem Bildobjekt _
zuweisen
Next 'nächstes Bildobjekt = nächstes 'i'
'aktuellen Stand (Indizes) in den Zellen c116:c131 speichern
'b116:b131 ist der aktuelle Stand, der in c116:c131 für einen spätern Vergleich als TEXT _
gespeichert wird
[c116:c131].Value = [b116:b131].Value
'Die Zelle f20 wird durch diesen Eintrag automatisch zu 0, weil nun der aktuelle (b107:b131) _
und der zuletzt gespecherte Stand (c107:c131) identisch sind
'Wenn Änderungen bei den Gruppenergebnissen die für das AF qualifizierten Teams ändern, ändert _
sich auch Zelle d115
'das Makro wird dann beim Aufruf des Blattes wieder ausgeführt und die grafik angepasst
'Nebeneffekt:
'Eine Änderung der qualifizierten AF-horde kann sich auch auf die für das VF qualifizerten _
horde auswirken
'Beim Schreiben der Werte in den Bereich c116:c131 registriert Excel eine Änderung am _
Tabellenblatt und startet automatisch
'das Makro
Private Sub Worksheet_Change für dieses Blatt
'Sollten sich Änderungen bei den für das VF qualifizierten horde ergeben haben, werden diese _
dadurch automatisch erkannt und die grafik angepasst
End Sub
Bis bald Horst