Código VBA en escel 2007

28/11/2007 - 12:57 por Teletreks | Informe spam
Hola a todos y gracias por atender mi pregunta,

Tengo un problemilla con una macro ya que no se cómo hacer que la macro me
seleccione las celdas de una columna que previamente he insertado en un rango
teniendo en cuenta el número de filas del rango (ya que para cada ejecución
de la macro este número será variable). El objetivo final es seleccionar
todas las celdas y pegar en ellas una fórmula que necesito.

Espero haberme explicado con la suficiente claridad (aunque no estoy muy
seguro).

Gracias por anticipado a todos vosotros.

Saludos

Preguntas similare

Leer las respuestas

#6 Teletreks
03/12/2007 - 08:50 | Informe spam
Hola de nuevo Hector, no quisiera abusar, pero cómo tendría que hacer para
que la macro me ordenara el rango por el campo "mes" (en primer lugar) y por
el campo fecha (en segundo lugar).

Gracias y saludos.

"Teletreks" escribió:

Gracias Hector, estoy alucinado, se ejecuta perfectamente y a una velocidad
increible.
Eres un fenómeno, gracias, de verdad.

Saludos.

"Héctor Miguel" escribió:

> hola, Jaume !
>
> >> Te expongo todo el codigo que utilizao para esta macro (...)
> >> La idea de todo lo anterior es desplegar la composicion del saldo de una determinada cuenta contable
> >> que figura en una Tabla Dinamica y darle un formato mas agradable...
>
> prueba con el siguiente codigo, y si cualquier duda (o informacion adicional)... comentas ?
> saludos,
> hector.
>
> Sub ArregloFichas()
> Dim Fx As Integer
> Fx = Cells.Find("*", Range("a1"), _
> xlValues, xlWhole, xlByRows, xlPrevious).Row
> With Application
> .ScreenUpdating = False
> .DisplayAlerts = False
> .CommandBars.ExecuteMso "TableConvertToRange"
> .DisplayAlerts = True
> End With
> Cells.ClearFormats
> Columns("d").NumberFormat = "m/d/yy"
> Cells.EntireColumn.AutoFit
> With Rows("1:1")
> .Font.Bold = True
> .RowHeight = 28.5
> .VerticalAlignment = xlTop
> .HorizontalAlignment = xlCenter
> End With
> With Columns("m:o")
> .ColumnWidth = 14
> .NumberFormat = "#,##0.00"
> End With
> With Range("m" & Fx + 2)
> .Formula = "=subtotal(9,m2:m" & Fx + 1 & ")"
> .AutoFill .Resize(, 3), xlFillDefault
> End With
> Range("p1").EntireColumn.Insert
> Range("p1") = "' Saldo"
> With Range("p2")
> .Formula = "=sum($o$2:o2)"
> .AutoFill .Resize(Fx - 1), xlFillDefault
> End With
> Range("m2").Select
> ActiveWindow.FreezePanes = True
> Range("a1").AutoFilter
> End Sub
>
>
>
Respuesta Responder a este mensaje
#7 Héctor Miguel
03/12/2007 - 23:49 | Informe spam
hola, Jaume !

... como tendria que hacer para que la macro me ordenara el rango por el campo "mes" (en primer lugar)
y por el campo fecha (en segundo lugar)...



justo antes de la linea con el "End Sub" inserta las siguientes instrucciones:

Range("a1").CurrentRegion.Sort _
Key1:=Range("c2"), Order1:=xlAscending, _
Key2:=Range("d2"), Order2:=xlAscending, Header:=xlYes

saludos,
hector.
Respuesta Responder a este mensaje
#8 Teletreks
04/12/2007 - 11:56 | Informe spam
Gracias Hector, como siempre tienes mi agradecimiento y reconocimiento.

Saludos.

"Héctor Miguel" escribió:

hola, Jaume !

> ... como tendria que hacer para que la macro me ordenara el rango por el campo "mes" (en primer lugar)
> y por el campo fecha (en segundo lugar)...

justo antes de la linea con el "End Sub" inserta las siguientes instrucciones:

Range("a1").CurrentRegion.Sort _
Key1:=Range("c2"), Order1:=xlAscending, _
Key2:=Range("d2"), Order2:=xlAscending, Header:=xlYes

saludos,
hector.



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