domingo, 29 de agosto de 2010

Nuevas formas de escribir con macro

Nuevas formas de escribir en las celdas de la hoja de cálculo con Macro. Usaremos Range y Cells combinadas. También veremos cómo se hace un comentario del programador escribiendo una comilla simple ('), o con Rem.

Para elevar a potencias usamos el acento circunflejo francés (^).



Código:

Sub escribe2()
Rem para elevar usamos el acento circunflejo francés ^
Range("C1:D6") = 2 ^ 3 + 10
Range("B8,B10,B12:C12") = "Madrid"
End Sub
Sub escribe3()
Range(Cells(1, 5), Cells(4, 8)).Value = "Hola"
Range("A5").Cells(3, 1).Value = 700
Range("A5:B10").Cells(2, 1).Value = "Bye"
End Sub


Escribir en un rango con un bucle For...Next

Si deseamos escribir en una serie de celdas, por ejemplo en el rango A1: A10 disponemos de varios métodos, que usan una variable, por ejemplo i, que hacemos variar entre 1 y 10.

  • Cells(i,"A") = "Pedido" & i
  • Range("B"&i) = "Envío " & i


7 comentarios:

  1. Hola Adolfo
    Muy interesante tu tema

    Saludos


    Gerson Pineda

    ResponderEliminar
  2. Me ha sido de gran ayuda su ejemplos de macros, pero me surge una duda y me preguntaba si podria ayudarme un poco. Mi problema es el siguiente , tengo esta macro
    sub mascara1()
    If Range("E26") <= 256 Then
    Range("K26") = 256 - Range("E26") And Range("J26") = 255
    ElseIf Range("E26") > 256 Then
    Range("K26") = 0 and Range("J26")=0

    End If
    El problema esta que la instruccion and no me hace caso, nunca me devuelve el valor 255 siempre cero, espero su respuesta , si lo cree conveniente
    Gracias

    ResponderEliminar
  3. Hola Alfonso.

    No se exactamente lo que pretende la macro. Quizás sea esto:

    sub mascara1()
    If Range("E26") <= 256 Then
    Range("K26") = 256 - Range("E26")
    Range("J26") = 255
    ElseIf Range("E26") > 256 Then
    Range("K26") = 0
    Range("J26")=0
    End If

    Tendría que saber lo que realmente quieres y lo que hay en la celda E26.

    ResponderEliminar
  4. Muchas gracias por su ayuda, ha sido de utilidad su informacion
    Gracias

    ResponderEliminar
  5. Hola Adolfo,un fraterno saludo. Gracias por tus aportes, he visto muchos de tus ejemplos. Me han sido de gran utilidad,eres un excelente Maestro.

    ResponderEliminar
  6. hola muchas gracias, por favor ayudarme con el siguiente macros bubles

    ResponderEliminar