Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/05/2007, 13:28
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Sonrisa Incremento de Variable

Hola Ariel !
Me alegra que mis sugerencias anteriores te hayan servido.

Te sugiero que cuando una macro no realiza lo que quieres, utilices un "viejo y conocido" método: PENSAR COMO PIENSA EL PROGRAMA. Veamos:

Private Sub CommandButton2_Click() (esto no puede ser el problema)
Dim variable As Integer (esta declaración no puede ser el problema)
variable = 11 (¿Otra vez la variable vale 11?... ÉSTE ES EL PROBLEMA).

Existen no menos de 3 caminos que pueden tomarse aquí. Yo te mostraré uno de ellos, que -por ser muy general- es aplicable a muchos otros casos.

1º) En el método: Hoja5.Range("H" & variable).PasteSpecial Paste:=xlPasteValues, Transpose:=True...
"Transpose" se establece a "True" para transponer las filas en columnas al pegar el rango. El valor predeterminado es "False".

Como tú estás pegando UNA SOLA CELDA... no tiene sentido esta declaración (si estuvieses pegando varias celdas y las quisieses transponer, entonces allí sí tendría sentido).

2º) Te sugiero sustituir: Hoja5.Range("H" & variable) (que no funciona) por:
Hoja5.[H65536].End(xlUp).Offset(1, 0) (que te funcionará perfectamente, quedando:
Código:
Hoja5.[H65536].End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Te sugiero, entonces, que leas sobre "End(xlUp)" y sobre "Offset(1, 0)" y verás:
a) por qué te funciona adecuadamente; y
b) que "potentes" son ambas propiedades.

Saludos