Ich habe folgendes Problem. Ich möchte verschiedene Sachverhalte aus Parteimitgliederstatistiken in einer von mir in Excel angefertigten Karte zu den einzelnen Kreisverbänden darstellen.
Dabei möchte ich zwei Eigenschaften der jeweiligen Kreise einander gegenüberstellen. Die soll so realsiert werden, dass Eigenschaft1 durch eine Farbe und Eigenschaft2 durch ein schwarzes Muster, das über der Farbe liegt, dargestellt wird.
Ich muss zugeben, dass ich von VBA so gut wie keine Ahnung habe.
Den Projekteil mit dem einfärben der Shapes habe ich schon anhand einer Beschreibung im Internet hinbekommen (https://www.youtube.com/watch?v=RfjCkHK2TXM)
Hier ist der Code des entsprechenden Makros
Sub Shading()
For i = 6 To 49
Range("actReg").Value = Range("ShadingMacros!A" & i).Value
ActiveSheet.Shapes(Range("actReg").Value).Select
Selection.ShapeRange.Fill.ForeColor.RGB = Range(Range("actRegCode").Value).Interior.Color
Next i
Range("I16").Select
End Sub
Soweit wie ich es verstanden habe, greift das Programm die Farbe, die unter "actRegCode" abgelegt ist, und füllt damit das entsprechende Shape (aus der "actReg"-Liste) und springt dann in die nächste Zeile.
Wie gesagt dieser Teil des Programms funktioniert bereits ganz gut.
Ich habe nun ein ähnliches Tabellenblatt für meine Muster(ShadingMacros_Muster) mit einer Liste der Shapes "actReg2" aufgesetzt und die Muster, auf die das Programm unter "actRegcode2" zugreifen soll, von "class7" bis "class13" benannt.
Ich habe dann ein neues Makro erstellt und den Code folgendermaßen Code verändert(Änderungen _
kursiv):
Sub Shading2()
For i = 6 To 49
Range("actReg2").Value = Range("ShadingMacros_Muster!A" & i).Value
ActiveSheet.Shapes(Range("actReg2").Value).Select
Selection.ShapeRange.Interior.Pattern = Range(Range("actRegCode2").Value). _
Interior.Pattern
Next i
Range("I16").Select
End Sub
Leider funktioniert es nicht. (Laufzeitfehler 438)
Bitte schlagt mich nicht, wenn ich irgendeinen Anfängerfehler gemacht habe. Ich nur ein einfacher Nutzer der mit Programmieren eigentlich nix am Hut hat und gerade versucht sich in VBA hineinzufitzen.
Was müsste ich verändern, dass es funzt?
Vielen Dank schon mal im Voraus.