I asked you to place it in code tags
While you are at it, press ctrl+T in the IDE and see how it looks better 
And I still have no idea what to motor needs to do and what you did "when it worked". Because the movement of servo is inside a if-statement that checks something in that array. So the "working" code is useful as well.
[ahhhh] While writing the tips I found the error. Declaring the array isn't a problem. But assigning values to the 4th element in a array with only 3 elements will not work 
Some tips
Pos doesn't need to be global
More comments. You never explain what you want to do
for (pos = 120; pos >= 0; pos -= 1) // goes from 180 degrees to 0 degrees
And where you have comments they don't make sens... Or make damn sure they say the same as the code or just don't use the values in the comment. So a comment for that would be "sweep counter clockwise"
Once you start numbering variables arrays are the answer 
const byte ButtonPins[] = {24, 26, 28, 30, 32};
Also made them const (they never change on run time) and byte big enough to hold the value).
myservo.attach(22); // attaches the servo on pin 9 to the servo object
Besides the comment that tells something different then the code, you also just use a number out of the blue. Doing
myservo.attach(ServoPin);
Would be less prone to mis-numbering, easier to remember and is so clear it doesn't really need any comments.
You could initialize all members of getraenke when you make the array.
struct getraenk getraenke[4] =
{ {0, 0, 33},
{8, 0, 33},
{16, 0, 33},
{24, 0, 33} //Hey, this is a 4th element so you need a array of size 4!
};
[code]
[code]
digitalWrite(Button1, HIGH); //Button1 HIGH
Although it still works fine, it's the old way of setting the pull ups. Easier and more clear is to do
pinMode(Button1, INPUT_PULLUP);
[/code]
[/code]