Da ich mittlerweile auch die DLCs habe, wollte ich gerne die Tabelle aktualisieren. Was ich hiermit getan habe.
Zusätzlich gibt es noch eine Version mit einem Makro, welches die Zeilen ohne Fundstelle ausblendet. Nachdem ich mit der Tabelle einige Zeit gearbeitet habe und es mich störte, dass manche Zutaten in der Liste weit auseinander liegen, fand ich das sinnvoll. Ich wollte ja schnellstmöglich alle Eigenschaften der Zutaten aufdecken und da ist es besonders bei seltenen Zutaten sinnvoll, wenn gleich mehrere Eigenschaften auf einmal "entdeckt" werden. Zudem steigert es den Verkaufswert enorm
Die Bedienung ist bei allen Varianten gleich: In Zelle F1 befindet sich ein Dropdown-Menü aller Eigenschaften. Bei Auswahl einer Eigenschaft, werden Fundstellen in der Zutatenliste grün markiert.
Die Version ohne Makro nutzt hierfür eine sogenannte "Datenprüfung" über eine Liste und eine bedingte Formatierung.
Die Version mit Makro nutzt ein Formularsteuerelement für die Dropdownliste, weil dieses bei Auswahl ein Makro starten kann. Dieses Makro durchsucht die belegten Zellen nach dem Text und färbt Fundstellen ebenfalls grün. Außerdem werden Zeilen ohne Fundstelle ausgeblendet (ohne Makro sonst leider nicht möglich).
Das Makro ist natürlich unverschlüsselt, allerdings muß es bei Excel explizit erlaubt werden. Sollte mit Excel 2010 nach dem Start gar nichts passieren und kein Dropdownmenü in Zelle F1 sein oder dieses keine Kunktion haben, kann man unter Datei -> Optionen -> Sicherheitscenter -> Einstellungen für das Sicherheitscenter... -> Einstellungen für Makros konfigurieren, wie Excel mit Makros umgehen soll.
Zur Sicherheit auch hier noch der verwendete vba-Code:
Code:
Sub DropDownSelect()
Dim ingredients As Excel.Worksheet 'Zutaten (Arbeitsblatt)
Dim effects As Excel.Worksheet 'Wirkungen (Hilfstabelle)
Dim compare As Excel.Range 'Einzelne Zelle
Dim effect As String 'Gesuchte Eigenschaft
Dim rows As Integer 'Belegte Zeilen Arbeitsblatt
Dim cols As Integer 'Eigenschaftsspalten
Dim col As Integer 'Aktuelle Spalte
Dim hide As Boolean 'Zeile ausblenden?
Application.ScreenUpdating = False 'Update aus, Performanz
Set ingredients = Excel.Worksheets("Zutaten") 'Arbeitsblatt
Set effects = Excel.Worksheets("Wirkungen") 'Ergebnis des Dropdowns
ingredients.rows.Hidden = False 'Alle Zeilen einblenden
rows = ingredients.UsedRange.rows.Count 'Belegte Zeilen
cols = 4 'Spalten mit Werten (B, C, D, E)
hide = True 'Standard ist ausblenden
col = 0 'Initialisierung
ingredients.Range("A2:E" & rows).Style = "Normal" 'Standardstil "Normal"
' Das Ergebnis des Formularsteuerfelds wird als numerischer Index in
' die Zelle B1 des Tabellenblatts "Wirkungen" gestellt. Mit diesem Index
' wird dann aus Spalte A der Text geholt:
effect = effects.Cells(effects.Cells(1, 2), 1)
If effect <> "" Then 'Falls etwas ausgewählt,
'zellenweise abnudeln:
For Each compare In ingredients.Range("B2:E" & rows)
col = col + 1 'Spalte merken
If compare.Text = effect Then 'Treffer
compare.Style = "Gut" 'Hellgrün markieren
hide = False 'Zeile nicht ausblenden
End If
If col = cols Then 'Zeile fertig?
ingredients.rows(compare.row).Hidden = hide
col = 0 'Initialisierung
hide = True 'Standard = ausblenden
End If
Next compare
End If
Application.ScreenUpdating = True 'Ansicht aktualisieren
End Sub
Es gibt eine Version für Excel 97-2003 (mit Office 2000 getestet): Skyrim-Zutaten(Excel1997-2003).zip (Skyrim-Zutaten.xls ohne und Skyrim-ZutatenM.xls mit Makro)
und eine für Excel 2007-2010 (mit Office 2010 getestet): Skyrim-Zutaten(Excel2007-2010).zip (Skyrim-Zutaten.xlsx ohne und Skyrim-Zutaten.xlsm mit Makro)
Ich hoffe, jemand kann es brauchen