Ayuda con Macro

29/05/2008 - 20:56 por Isrrael | Informe spam
Hola a toda la comunidad!
Tengo una macro que tiene el siguiente problema:

Range("I1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("I1").Select
Selection.NumberFormat = "d-mmm"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Range("I2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=IF(RC[-2]<R1C9,""Burn"",IF(RC[-2]>=R1C9,""On Time"",""""))"
Range("H2").Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Select <
Problema AQUI
ActiveCell.FormulaR1C1 = "Hello"

Resulta que quiero que mediante selection.end se vaya al extremo inferior
derecho del documento editable en excel y luego a la siguiente celda a la
derecha..., ya intente usar Activecell.Offset(0,1). Select, pero esta
instrucccion me manda hasta el final de la fila IV, en donde este..., y lo
que quiero es que solo se mueva 1 celda...

gracias anticipadas!!
Isrrael
 

Leer las respuestas

#1 Héctor Miguel
30/05/2008 - 03:57 | Informe spam
hola, Isrrael !

Tengo una macro que tiene el siguiente problema: (...)
... quiero que mediante selection.end se vaya al extremo inferior derecho del documento editable en excel
y luego a la siguiente celda a la derecha...
ya intente usar Activecell.Offset(0,1). Select, pero esta instrucccion me manda hasta el final de la fila IV
en donde este..., y lo que quiero es que solo se mueva 1 celda...



1) la instruccion que "te manda" hasta la columna IV... NO es la que supones -> Activecell.Offset(0, 1).Select
sino la que tienes una linea antes... -> Selection.End(xlToRight).Select
-> la otra (Activecell.Offset(0, 1).Select)...
(en realidad) no hace nada... -> ya no tiene "a donde moverse" si "ya llegaste" hasta la columna IV

2) lo anterior... "asumiendo/suponiendo/..." que cuando "te moviste" al final de la columna H...
con las dos instrucciones previas: -> Range("H2").Select y -> Selection.End(xlDown).Select
a partir de la siguiente celda en la columna H ya todas estan "vacias" (o "llenas" ?) -???-

3) si lo anterior es "acertado"... solo ELIMINA la instruccion: -> Selection.End(xlToRight).Select
y en su lugar dejas (unicamente) la instruccion: -> Activecell.Offset(0, 1).Select

(dicho sea de paso)... no es necesaria tanta (re)seleccion de celdas (p.e.)
esta parte de tu codigo:
Range("I1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("I1").Select
Selection.NumberFormat = "d-mmm"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False

la puedes cambiar por esta:
With Range("I1"): .Value = Date: NumberFormat = "d-mmm": End With

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ el codigo expuesto __
Range("I1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("I1").Select
Selection.NumberFormat = "d-mmm"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("I2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=IF(RC[-2]<R1C9,""Burn"",IF(RC[-2]>=R1C9,""On Time"",""""))"
Range("H2").Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Select < Problema AQUI
ActiveCell.FormulaR1C1 = "Hello"

Preguntas similares