Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2008, 09:23
rockbirra
 
Fecha de Ingreso: noviembre-2008
Mensajes: 37
Antigüedad: 15 años, 5 meses
Puntos: 0
Error en tiempo de ejecucion de Range

Buenas tardes,

estoy haciendo una macro en excel y tengo una duda de como realizar lo siguiente.

El caso es que cada vez que trabajo con un fichero, tengo un numero variable de columnas. Lo que intento es copiar el formato de las celdas de todas las filas de la columna n-1 a la columna n siempre que la columna n no sea texto. Para hacer esto me he basado en dos for que detallo a continuacion.

El problema me lo encuentro cuando intento seleccionar una celda de la columna n-1 para poder copiarle el formato, exactamente la instruccion "Range(Cells(m, n)).Select"

Al llegar a este punto en la ejecución me aparece :
Se ha producido el error '1004' en tiempo de ejecución:
Error en el método 'Range' de objeto '_Global'
y al depurar va a la instrucción que comentaba anteriormente "Range(Cells(m, n)).Select"


Os paso el codigo.


Dim n As Integer

___For j = 5 To 1000 ' para cada columna
_____mec = Cells(1, j)
_____n = j - 1
_____If Application.WorksheetFunction.IsText(mec) Then
_______For m = 1 To 33 'para cada fila de la columna

_________Range(Cells(m, n)).Select
_________Selection.Copy
_________Range(Cells(m, j)).Select
_________Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
_______Next m
_____Else
_________ultima = j
_________j = 1000
_____End If
___Next j


Alguien podria echarme una mano para poder hacer esto? creo que estoy cerca pero se me escapa algo y ya no se como avanzar.

Muchas gracias.