none
Botón que cambie las celdas de un libro RRS feed

  • Pregunta

  • Hola :.

      Tengo un libro excel con 3 hojas. En la hoja 2 y hoja 3 tengo datos en celdas  en este formato :

          Libro.hoja2.Celda A1 :Cód.Cliente  || Libro.hoja2.CeldaB1 :Valor

          Libro.hoja2.Celda A2 :Cód.Cliente  ||  Libro.hoja2.CeldaB2 :Valor

          Libro.hoja2.Celda AXX :Cód.Cliente  ||  Libro.hoja2.CeldaBXX :Valor

    Quiero poner el la hoja 1 un boton con nombre"siguiente" que al pulsarlo me valla cambiando las celdas de la hoja 2 de este modo :

           Libro.hoja1.Celda A1 : Libro.hoja2.Celda A1 :Cód.Cliente  || Libro.hoja1.CeldaB1 :Libro.hoja2.CeldaB1 :Valor

          He creado el botón y al clickearlo me sale :

    Sub Botón1_AlHacerClic()

    End Sub

    ¿Que código tendría que poner?


    Gracias por la ayuda.
    miércoles, 4 de abril de 2012 18:09

Respuestas

  • Hola Leandro :

     Si un amigo me pidio que le hiciese unas cosillas en un excel y esto se me atraganto un poco. Le hecho un vistazo al enlace que me pasas, gracias de nuevo.

    Option Explicit


    Dim CONTADOR As Integer


    Sub cambiar()
    Dim FilaCod As Integer
    Dim ColuCod As Integer
    Dim FilaVal As Integer
    Dim ColuVal As Integer




    Dim FilaCod2 As Integer
    Dim ColuCod2 As Integer
    Dim FilaVal2 As Integer
    Dim ColuVal2 As Integer


    FilaCod = 5
    ColuCod = 4
    FilaVal = 4
    ColuVal = 8




    FilaCod2 = 6
    ColuCod2 = 4
    FilaVal2 = 4
    ColuVal2 = 9





         If IsEmpty(Worksheets("Hoja2").Cells(FilaVal2 + CONTADOR, ColuVal2)) Then
        MsgBox Prompt:="La casilla " & Worksheets("Hoja2").Cells(FilaVal2 + CONTADOR, ColuVal2) & " está vacía", Title:="Fin"
        CONTADOR = 0

        Else
        FilaVal = FilaVal + CONTADOR
        FilaVal2 = FilaVal2 + CONTADOR
         Application.Worksheets(1).Range("E4").Value = Worksheets("Hoja2").Cells(FilaVal, ColuVal)
         Application.Worksheets(1).Range("F4").Value = Worksheets("Hoja2").Cells(FilaVal2, ColuVal2)

         CONTADOR = CONTADOR + 1

        End If

    End Sub

    Sub Botón1_Haga_clic_en()
    Call cambiar
    End Sub

                           
    • Marcado como respuesta Amigozgz jueves, 5 de abril de 2012 17:17
    • Desmarcado como respuesta Amigozgz jueves, 5 de abril de 2012 18:51
    • Editado Amigozgz jueves, 5 de abril de 2012 19:05
    • Marcado como respuesta Amigozgz jueves, 5 de abril de 2012 19:05
    miércoles, 4 de abril de 2012 22:45

Todas las respuestas

  • hola

    pero estas programando un macro en el excel ?

    que pasa si usas

    Sheets("hoja2").Select

    Basics of Excel VBA: Sheet Navigation

    imagine "hoja2" es el worksheet

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    miércoles, 4 de abril de 2012 18:36
  • Hola Leandro :

     Si un amigo me pidio que le hiciese unas cosillas en un excel y esto se me atraganto un poco. Le hecho un vistazo al enlace que me pasas, gracias de nuevo.

    miércoles, 4 de abril de 2012 19:38
  • Hola Leandro :

     Si un amigo me pidio que le hiciese unas cosillas en un excel y esto se me atraganto un poco. Le hecho un vistazo al enlace que me pasas, gracias de nuevo.

    Option Explicit


    Dim CONTADOR As Integer


    Sub cambiar()
    Dim FilaCod As Integer
    Dim ColuCod As Integer
    Dim FilaVal As Integer
    Dim ColuVal As Integer




    Dim FilaCod2 As Integer
    Dim ColuCod2 As Integer
    Dim FilaVal2 As Integer
    Dim ColuVal2 As Integer


    FilaCod = 5
    ColuCod = 4
    FilaVal = 4
    ColuVal = 8




    FilaCod2 = 6
    ColuCod2 = 4
    FilaVal2 = 4
    ColuVal2 = 9





         If IsEmpty(Worksheets("Hoja2").Cells(FilaVal2 + CONTADOR, ColuVal2)) Then
        MsgBox Prompt:="La casilla " & Worksheets("Hoja2").Cells(FilaVal2 + CONTADOR, ColuVal2) & " está vacía", Title:="Fin"
        CONTADOR = 0

        Else
        FilaVal = FilaVal + CONTADOR
        FilaVal2 = FilaVal2 + CONTADOR
         Application.Worksheets(1).Range("E4").Value = Worksheets("Hoja2").Cells(FilaVal, ColuVal)
         Application.Worksheets(1).Range("F4").Value = Worksheets("Hoja2").Cells(FilaVal2, ColuVal2)

         CONTADOR = CONTADOR + 1

        End If

    End Sub

    Sub Botón1_Haga_clic_en()
    Call cambiar
    End Sub

                           
    • Marcado como respuesta Amigozgz jueves, 5 de abril de 2012 17:17
    • Desmarcado como respuesta Amigozgz jueves, 5 de abril de 2012 18:51
    • Editado Amigozgz jueves, 5 de abril de 2012 19:05
    • Marcado como respuesta Amigozgz jueves, 5 de abril de 2012 19:05
    miércoles, 4 de abril de 2012 22:45
  • Otra Posibilidad :

    Option Explicit

    Dim auxCONTADOR As Integer
    Dim FilaColCod As String
    Dim FilaColVal As String

    Dim FilaColCod2 As String
    Dim FilaColVal2 As String
    Dim valor  As Boolean



    Sub Inicio()
           
        
        FilaColCod2 = InputBox("Introducir la Casilla Inicial Cod. : ", "Casilla Inicial")
       Application.Worksheets(1).Range("E4").Value = Worksheets("VTAS CLI RE").Range(FilaColCod2)
            
        FilaColVal2 = InputBox("Introducir la Casilla Inicial Val. : ", "Casilla Inicial")
       Application.Worksheets(1).Range("F4").Value = Worksheets("VTAS CLI RE").Range(FilaColVal2)
        
        valor = True

     End Sub
     Sub cambiar2()
     If valor = False Then
     Call Inicio
     End If
     
      If IsEmpty(Worksheets("VTAS CLI RE").Range(FilaColCod2).Offset(auxCONTADOR, 0)) Then
        MsgBox Prompt:="La casilla " & Worksheets("VTAS CLI RE").Range(FilaColCod2).Offset(auxCONTADOR, 0) & " está vacía", Title:="Fin"
        auxCONTADOR = 0
            
        Else
        Application.Worksheets(1).Range("E4").Value = Worksheets("VTAS CLI RE").Range(FilaColCod2).Offset(auxCONTADOR, 0)
        Application.Worksheets(1).Range("F4").Value = Worksheets("VTAS CLI RE").Range(FilaColVal2).Offset(auxCONTADOR, 0)
        
        auxCONTADOR = auxCONTADOR + 1
           
        End If

     End Sub
    Sub Botón4_Haga_clic_en()
     Call Inicio
     
    End Sub
    Sub Botón6_Haga_clic_en()
    Call cambiar2
    End Sub

    jueves, 5 de abril de 2012 21:39