Here is the entire code i'm using 
#include <Wire.h>
#include "Adafruit_MCP23017.h"
Adafruit_MCP23017 expander0;
Adafruit_MCP23017 expander1;
void setup() {
Serial.begin(9600);
expander0.begin(0); // first expander at address 0
expander1.begin(1); // second expander at address 1
for (int thisPin1 = 0; thisPin1 < 17; thisPin1++) {
expander0.pinMode(thisPin1, OUTPUT); }
for (int thisPin2 = 0; thisPin2 < 17; thisPin2++){
expander1.pinMode(thisPin2, OUTPUT);
}}
void loop(){
for (int levelcross4 = 0; levelcross4 < 3; levelcross4 ++){
for (int crossloop1 = 0; crossloop1 <5; crossloop1++){
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(6,HIGH); //rij 2 led 2 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(15,HIGH); //rij 1 led 2 //
expander1.digitalWrite(14,HIGH); //rij 3 led 2 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(5,HIGH); //rij 0 led 2 //
expander1.digitalWrite(13,HIGH); // rij 4 led 2 //
delayMicroseconds(1);
}
for (int crossloop2 = 0; crossloop2 < 5; crossloop2++){
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(10,HIGH);// rij 2 led 0 //
expander0.digitalWrite(10,HIGH);// rij 2 led 4 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander0.digitalWrite(13,HIGH); // rij 2 led 1 //
expander0.digitalWrite(2,HIGH); // rij 2 led 3 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(6,HIGH); //rij 2 led 2 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
}
for (int crossloop3 =0; crossloop3 < 5; crossloop3++){
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(8,HIGH);// rij0 led 0 //
expander0.digitalWrite(12,HIGH);// rij 4 led 4 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander0.digitalWrite(15,HIGH);// rij 1 led 1 //
expander0.digitalWrite(3,HIGH); // rij 3 led 3 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(6,HIGH); //rij 2 led 2 //
}
}
for (int crossloop1 = 0; crossloop1 <5; crossloop1++){
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(6,HIGH); //rij 2 led 2 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(15,HIGH); //rij 1 led 2 //
expander1.digitalWrite(14,HIGH); //rij 3 led 2 //
delayMicroseconds(1);
for (int reset1 = 0; reset1 <17; reset1++){
expander0.digitalWrite(reset1,LOW);}
for (int reset2 = 0; reset2 <17; reset2++){
expander1.digitalWrite(reset2,LOW);}
delayMicroseconds(1);
expander1.digitalWrite(4,HIGH);//level(4)//
expander1.digitalWrite(5,HIGH); //rij 0 led 2 //
expander1.digitalWrite(13,HIGH); // rij 4 led 2 //
delayMicroseconds(1);
}
}