Problemas con Range

11/05/2004 - 04:18 por joaquin del campo | Informe spam
En el siguiente procedimiento. . .

Public Sub CopiarCeldas()

If Range("A1") = "a" Then
Worksheets("Hoja1").Range("A2:D9").Copy _
Destination:=Worksheets("Hoja2").Range("A1")

ElseIf Range("A1") = "b" Then
Worksheets("Hoja1").Range("A2:D9").Copy _
Destination:=Worksheets("Hoja3").Range("A1")

End If

End Sub


. . . que me permite copiar el contenido de un rango de la hoja 1, en
la Hoja 2 si A1 = a, y en la Hoja 3 si A1 = b; necesitaría ampliar el
rango "A2:D9" a la totalidad de la columna A. He utilizado para eso
Range("A:A") pero me arroja error.

Desde ya muchas gracias.

Joaquín
Buenos Aires. Argentina

Joancho
Buenos Aires. Argentina
jdcbairesSPAM@yahoo.com.arSPAM

Preguntas similare

Leer las respuestas

#6 joaquin del campo
12/05/2004 - 16:11 | Informe spam
Una vez copiado este código como me indicaste, al introducir un nuevo
dato en la Hoja 1 donde tengo la tabla (el de la primera columna: a,
b, c, etc) me arroja este error:

"Se ha producido un error '1004' en tiempo de ejecución.
La selección no es válida
Puede haber varios motivos:
* Las áreas a copiar y pegar deben tener el mismo tamaño y forma para
poder superponerse.
* Al usar el comando crear en el módulo insertar, submenú nombre la
fila y columna que incluyen los nombres propuestos no se incluirán en.
. ." y hasta ahí se alcanza a leer el mensaje.

Si hago clic en depurar me señala
.Cells.SpecialCells(xlcellTypevisible)Copy. . . . .etc.

Al cerrar la ventana de error en la Hoja 1 aparece aplicada en la
tabla un filtro, el cual me ha seleccionado correctamente todos los
datos correspondientes al cliente a, b o c que ingresé, pero todavía
no los copia a una nueva hoja.

On Wed, 12 May 2004 13:18:36 +0200, "Fernando Arroyo"
wrote:

Prueba con el siguiente código, el cual va en el módulo de la hoja (click derecho sobre su etiqueta->Ver código):


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub

Application.ScreenUpdating = False

With [A1]
.AutoFilter
.AutoFilter field:=1, Criteria1:=Target
.Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets("Hoja" & Asc(Target) - 96).[A1]
.AutoFilter
End With

Application.ScreenUpdating = True
End Sub

Pero te aconsejo que lo pruebes en una copia del libro, no vaya a ser que no haga lo que necesitas y "la jeringuemos".
Un saludo.


Fernando Arroyo
MS MVP - Excel






Joancho
Buenos Aires. Argentina

Respuesta Responder a este mensaje
#7 Fernando Arroyo
12/05/2004 - 17:01 | Informe spam
¿Pero no decías dos mensajes atrás que ". . . entonces cada vez que escribo "a" los datos que tengo en la columna B y C correspondientes a "a" se copien en la Hoja 1 y cuando escribo "b" los datos de que le corresponden de dichas columnas se copien en la Hoja 2y así sucesivamente si inserto otras letras."?

Si (según lo anterior) los datos para "a" deben ser copiados en la Hoja1, entonces los datos generales no pueden estar también en Hoja1...

He subido un ejemplo a la red para que veas que el código funciona sin problemas:

http://www.excelsp.com/ejemplos/eje...40512a.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel


"joaquin del campo" escribió en el mensaje news:

Una vez copiado este código como me indicaste, al introducir un nuevo
dato en la Hoja 1 donde tengo la tabla (el de la primera columna: a,
b, c, etc) me arroja este error:

"Se ha producido un error '1004' en tiempo de ejecución.
La selección no es válida
Puede haber varios motivos:
* Las áreas a copiar y pegar deben tener el mismo tamaño y forma para
poder superponerse.
* Al usar el comando crear en el módulo insertar, submenú nombre la
fila y columna que incluyen los nombres propuestos no se incluirán en.
. ." y hasta ahí se alcanza a leer el mensaje.

Si hago clic en depurar me señala
.Cells.SpecialCells(xlcellTypevisible)Copy. . . . .etc.

Al cerrar la ventana de error en la Hoja 1 aparece aplicada en la
tabla un filtro, el cual me ha seleccionado correctamente todos los
datos correspondientes al cliente a, b o c que ingresé, pero todavía
no los copia a una nueva hoja.

Respuesta Responder a este mensaje
#8 joaquin del campo
12/05/2004 - 17:28 | Informe spam
Correcto Fernando, el error fue mío: al hacer la copia ,sin darme
cuenta renombré la hoja de los los datos como Hoja1. Ahora funciona
perfectamente.

Te agradezco infinitamente la ayuda que me has proporcionado.

Un abrazo
Joaquin
Bs. As. Argentina.

On Wed, 12 May 2004 17:01:17 +0200, "Fernando Arroyo"
wrote:

¿Pero no decías dos mensajes atrás que ". . . entonces cada vez que escribo "a" los datos que tengo en la columna B y C correspondientes a "a" se copien en la Hoja 1 y cuando escribo "b" los datos de que le corresponden de dichas columnas se copien en la Hoja 2y así sucesivamente si inserto otras letras."?

Si (según lo anterior) los datos para "a" deben ser copiados en la Hoja1, entonces los datos generales no pueden estar también en Hoja1...

He subido un ejemplo a la red para que veas que el código funciona sin problemas:

http://www.excelsp.com/ejemplos/eje...40512a.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel


"joaquin del campo" escribió en el mensaje news:

Una vez copiado este código como me indicaste, al introducir un nuevo
dato en la Hoja 1 donde tengo la tabla (el de la primera columna: a,
b, c, etc) me arroja este error:

"Se ha producido un error '1004' en tiempo de ejecución.
La selección no es válida
Puede haber varios motivos:
* Las áreas a copiar y pegar deben tener el mismo tamaño y forma para
poder superponerse.
* Al usar el comando crear en el módulo insertar, submenú nombre la
fila y columna que incluyen los nombres propuestos no se incluirán en.
. ." y hasta ahí se alcanza a leer el mensaje.

Si hago clic en depurar me señala
.Cells.SpecialCells(xlcellTypevisible)Copy. . . . .etc.

Al cerrar la ventana de error en la Hoja 1 aparece aplicada en la
tabla un filtro, el cual me ha seleccionado correctamente todos los
datos correspondientes al cliente a, b o c que ingresé, pero todavía
no los copia a una nueva hoja.






Joancho
Buenos Aires. Argentina

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida