none
Hacer referencia a una celda de otra hoja

    Pregunta

  • Ante todo gracias por su atención.

    Tengo varias hojas en un libro de excel, en concreto estas:

    Registro clientes                   Preupuesto    
    Nombre del cliente                Producto

    El nombre del cliente y el nombre del producto van en el mismo rango de celda, aunque en hojas diferentes. Es decir, si nombre cliente se enci¡uentra en el rango A6 de la hoja 1(Registro clientes), el nombre del producto se encuentra también en el rango A6 pero de la hoja 2(Presupuesto)
    Lo que intento hacer es que, utilizando código VBA, al hacer click en la celda que contiene el nombre del producto (Hoja2), aparezca información en pantalla de la celda que contiene el nombre del cliente de la hoja 1 o bien un mensaje con el nombre del cliente. Lo he intentado con un bucle For each... y For pero no consigo resultados.
    Gracias

    martes, 10 de noviembre de 2009 23:33

Respuestas

  • hola, !

    prueba un cuadro de mensaje usando codigo en el modulo de la "hoja1" (registro clientes) +/- como sigue:

    private sub worksheets_selectionchange(byval target as range)
      if target.column <> 1 then exit sub
      msgbox worksheets("presupuesto").range(activecell.address)
    end sub

    saludos,
    hector.
    • Marcado como respuesta belkin220 miércoles, 11 de noviembre de 2009 11:12
    miércoles, 11 de noviembre de 2009 6:40

Todas las respuestas

  • hola, !

    prueba un cuadro de mensaje usando codigo en el modulo de la "hoja1" (registro clientes) +/- como sigue:

    private sub worksheets_selectionchange(byval target as range)
      if target.column <> 1 then exit sub
      msgbox worksheets("presupuesto").range(activecell.address)
    end sub

    saludos,
    hector.
    • Marcado como respuesta belkin220 miércoles, 11 de noviembre de 2009 11:12
    miércoles, 11 de noviembre de 2009 6:40
  • Hola Héctor: Muchas gracias por tu pronta respuesta, verdaderamente me ha sido de gran ayuda, funciona a la perfección.

    He copiadao el código que me has enviado en la hoja2, ya que mi intención era ver el nombre del cliente al hacer click en el producto. He realizado una pequeña modificación en el código para que también me muestre el apellido, es decir tengo el nombre en el rango A6 y el apellido en el rango B6 y ha quedado así:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim mynombre As String
    Dim myapellido As String
      If Target.Column <> 1 Then Exit Sub
      mynombre = Worksheets("Registro clientes ").Range(ActiveCell.Address)
      ActiveCell.Offset(0, 1).Activate
      myapellido = Worksheets("Registro clientes ").Range(ActiveCell.Address)
      MsgBox mynombre & " " & myapellido
    End Sub

    He copiado el código en el evento Worksheet_BeforeDoubleClick porque le va mejor a la funcionalidad del programa.

    Gracias por tu ayuda.

    miércoles, 11 de noviembre de 2009 15:42