Ayuda para con macro

31/05/2004 - 02:58 por Bocha | Informe spam
Hola:

Espero que se encuentre bien.
Estoy necesitando ayuda con un macro.
Lo que busco es lo siguiente:
En la primer parte, el macro selecciona el rango I8:BB8 de una hoja, lo
copia y los pega en otra hoja transponiendo los valores. Luego debe ir
bajando una fila y realizando la misma tarea hasta el rango I30:BB30.
Lo que busco es resumir esto sin tener que copiar eso para todas las celdas
como se puede ver en una parte del código que les he copiado.
Adicionalmente, necesito saber si me pueden indicar también lo siguiente: en
el rango que les marqué (Filas 8 a 30), pueden haber valores en todas las
filas o solo en algunas, siendo siempre las primeras las que tienen valores.
La pregunta es: ¿Cómo puedo hacer para que realice lo que consulté
anteriormente solo para las filas que tienen valores?. Es decir, que si
luego de haber realizado la tarea con la fila 8, y en la siguiente fila no
hay valores (me refiero a ningún valor en ninguna de las celdas del Rango
pues puede haber valores solo en algunas de ellas y en ese caso deberían
copiarse igual), que el macro no continúe con las demás filas.


Sheets("DESCARGA").Select
Range("I8:BB8).Select
Selection.Copy
Sheets("Hoja1").Select
Range("E65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True
Sheets("DESCARGA").Select
Range("I9:BB9").Select
Selection.Copy
Sheets("Hoja1").Select
Range("E65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True

Esto contiúa hasta la fila 30

Bueno, Como siempre me pasa se me hace un tando dificil de explicar. Espero
que hayan podido entender.
Si necesitan alguna otra aclaración les pido que me lo hagan saber.

Muchas Gracias.

Saludos,
Marcelo

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
01/06/2004 - 07:12 | Informe spam
hola, Marcelo !

... el rango I8:BB8 de una hoja, lo copia y los pega en otra hoja transponiendo los valores.
... debe ir bajando ... hasta el rango I30:BB30.
... en ... (Filas 8 a 30), pueden haber valores en todas las filas o solo en algunas
... siempre las primeras las que tienen valores.
... hacer para que realice ... solo para las filas que tienen valores?.
... si luego de ... la fila 8, y en la siguiente fila no hay valores (... en ninguna de las celdas ...)
... que el macro no continue con las demas filas. [... sigue codigo ...]



si he entendido bien... las siguientes lineas 'resuelven' el problema :))
en caso contrario :((... ¿comentas?
saludos,
hector.
-
Dim Fila As Integer
For Fila = 8 To 30
If Application.Sum(Worksheets("DESCARGA").Range("i" & Fila & ":bb" & Fila)) = 0 Then Exit For
Worksheets("DESCARGA").Range("i" & Fila & ":bb" & Fila).Copy
Worksheets("Hoja1").Range("h65536").End(xlUp).Offset(1).PasteSpecial _
Paste:=xlPasteValues, SkipBlanks:=False, Transpose:=True
Next
Application.CutCopyMode = False
Respuesta Responder a este mensaje
#2 Bocha
10/06/2004 - 05:21 | Informe spam
Muchas Gracias Hector.

Disculpa la demora en la respuesta pero hasta hoy no había podido probar
tu solución.
Lo que me propusiste funciona a la perfección.
Me ha servido de mucho.

Gracias Nuevamente.

Saludos,
Marcelo


"Héctor Miguel" escribió en el mensaje
news:#
hola, Marcelo !

> ... el rango I8:BB8 de una hoja, lo copia y los pega en otra hoja


transponiendo los valores.
> ... debe ir bajando ... hasta el rango I30:BB30.
> ... en ... (Filas 8 a 30), pueden haber valores en todas las filas o


solo en algunas
> ... siempre las primeras las que tienen valores.
> ... hacer para que realice ... solo para las filas que tienen valores?.
> ... si luego de ... la fila 8, y en la siguiente fila no hay valores


(... en ninguna de las celdas ...)
> ... que el macro no continue con las demas filas. [... sigue codigo ...]

si he entendido bien... las siguientes lineas 'resuelven' el problema :))
en caso contrario :((... ¿comentas?
saludos,
hector.
-
Dim Fila As Integer
For Fila = 8 To 30
If Application.Sum(Worksheets("DESCARGA").Range("i" & Fila & ":bb" &


Fila)) = 0 Then Exit For
Worksheets("DESCARGA").Range("i" & Fila & ":bb" & Fila).Copy
Worksheets("Hoja1").Range("h65536").End(xlUp).Offset(1).PasteSpecial _
Paste:=xlPasteValues, SkipBlanks:=False, Transpose:=True
Next
Application.CutCopyMode = False

Respuesta Responder a este mensaje
#3 Héctor Miguel
10/06/2004 - 08:38 | Informe spam
hola, Marcelo !

... no habia podido probar tu solucion ... funciona [...]



gracias a ti... por el 'feed-back'
[siempre es 'bueno' para otros con situaciones 'similares' enterarse cuando las propuestas.. funcionan] ;)

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida