VBA-Crear botón en una celda específica

Resuelto
weNgorP -  
 Aspirhyne -
Hola,

Me gustaría saber cómo crear un botón en una celda específica con VBA. Ex Range("R2").

gracias,

Configuración: Windows XP / Internet Explorer 6.0

8 respuestas

  1. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
     Con Range("R2") Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Link:=False, DisplayAsIcon:=False, Left:=.left, Top:=.top, Width:=.ColumnWidth, Height:=.RowHeight) End With


    --
    La experiencia instruye de manera más segura que el consejo. (André Gide)
    Si te golpeas contra una olla y suena hueca, no es necesariamente la olla la que está vacía. ;-)(Confucio)
    7
    1. Aspirhyne
       
      Muchas gracias por la ayuda, eso también me ayudó :)
      0
  2. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Hello,
    A little research on CCM would probably have informed you
    See you
    --
    Experience teaches more reliably than advice. (André Gide)
    If you bang into a pot and it sounds hollow, it's not necessarily the pot that is empty. ;-)(Confucius)
    1
  3. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Es como si estuvieras escribiendo código en el módulo de la hoja, en la última fila.
    --
    La experiencia instruye con más certeza que el consejo. (André Gide)
    Si te golpeas contra una vasija y suena hueca, no es necesariamente la vasija la vacía. ;-)(Confucio)
    1
  4. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Muchas gracias.......Viva los foros...
    No, no y no...
    Muchas gracias.......Viva los foros de CCM...
    Lo mejor... :DDDDD :o)
    Nos vemos.
    La experiencia enseña más seguramente que el consejo. (André Gide)
    Si te golpeas contra una jarra y suena hueca, no es necesariamente la jarra la que está vacía. ;-)(Confucio)
    1
  5. coolilted Mensajes publicados 7 Estado Miembro
     
    VBA Excel ? o ¿Dónde?
    0
  6. weNgorP
     
    Gracias,

    Mi problema está casi resuelto..El código que me diste efectivamente
    funcionó. Sin embargo, no logro crear mi botón en la celda "R2"
    ... soy consciente de que hay que jugar con Left-Top-Width-Height...Pero es largo..

    A continuación un pequeño código que funciona bien para lo que quiero..pero no logro
    integrarlo con OLEObject para crear mi botón...

    'Crear un botón que encaje con una celda y nombrarlo
    Range("R2").Select
    ActiveSheet.Buttons.Add ActiveCell.Left, ActiveCell.Top, ActiveCell.Width, ActiveCell.Height
    ActiveSheet.Shapes("Button 1").TextFrame.Characters.Text = "Botón de Prueba!"

    Gracias de antemano....
    0
  7. weNgorP
     
    Gracias,,
    a propósito aquí está el buen código
    Range("R2").Select
    Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Link:=False, DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=ActiveCell.Width, _
    Height:=ActiveCell.Height)
    Obj.Name = "BoutonTest"

    Pero me gustaría entender mejor tu código

    'Añade la macro al final del módulo de la hoja
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
    .insertLines .CountOfLines + 1, Code
    End With

    No termino de entender muy bien para qué sirve.. ¿Podrías guiarme.. soy novato en
    VBA..

    Gracias de nuevo,
    0
  8. weNgorP
     
    Muchas gracias... Viva los foros... Es gracioso, soy nuevo en VBA y en los foros... Si lo supiera, podría haber hecho mejor que B en mi curso del lenguaje C... :(... Solo si...

    Muchas gracias, grande... ;)

    No tenemos remedio para los si... Qué pena...
    0