Muchas gracias Miguel. Funciona increiblemente mejor. Problema solucionado.
Aquí os paso la solución para el que se quiera ahorrar trabajo

file<-getwd()
require(XLConnect)
wb.datos=loadWorkbook(paste(file,"/plantillas_ngc.xls", sep=""),
create=FALSE)
#misdatos=readWorksheet(wb.datos, sheet=1)

for(i in 1:Nhojas){
  print(paste(i, "de", Nhojas))

  datosAux<- readWorksheet(wb.datos
                                    , sheet = i
                                    ,header = T
                                    ,startCol = 1
                                    ,startRow = 4
                                    ,endCol = 21
                                    ,endRow = NgrandeRow
                             )
  datosAux<-datosAux[-1,]
  datosAux<-datosAux[!is.na(datosAux$Trial),]
  datosAux<-datosAux[datosAux$Event.Type=="Picture",c("Subject"
,"Trial","Code","code","RT","Err"  )]

  if(i==1){
    datos<-datosAux
  }else{
    datos<-rbind(datos,datosAux)
  }

}




head(datos,20)


tail(datos,20)

	[[alternative HTML version deleted]]

