Si examinas con detenimiento el texto del mensaje de error, te explicara exactamente de que es de lo que se queja. Probablemente lo que debe decir es que no le estas propircionando algun campo que es obligatorio, o que no coincide algun campo de origen con
los de destino, pero no acues a ciegas, asegurate de fijarte detenidamente en el texto del mensaje. Y acostumbrate a copiarlo cuando preguntes en el foro, nunca digas "me da error", escribe siempre el mensaje exacto de error completo y detallado.
Basicamente, la regla cuando ejecutas esto:
"INSERT INTO " & copia & " SELECT * From " & origen
es que la tabla "copia" tiene que tener exactamente los mismos campos y en el mismo orden que la tabla origen (el nombre puede diferir, pero el tipo tiene que ser compatible), y que todos ellos tienen que ser "insertables" (por ejemplo,
no puede tener un campo Identity).
Si no se cumple esa condicion, tienes que escribir
"INSERT INTO " & copia & "(campo1, campo2, etc) SELECT Campo1, campo2, etc From " & origen
es decir, tienes que escribir los nombres de los campos que insertas y los nombres de los campos que lees (y logicamente omitir en ellos los que no procedan, como por ejemplo el campo Identity si lo hay).