Ir ao conteúdo
  • Cadastre-se
jefferson simoes

Checkbox excel, copiar itens

Recommended Posts

Olá galera estou com um problema no Excel.

estou fazendo uma planilha modelo de solicitação de nota fiscal; O mesmo tem um banco de dados aonde coloquei um checkbox em frente a cada item ( gostaria que selecionando este item ele carregue para uma outra aba juntando com outros itens que vão compor esta nota)

Qual o caminho que devo tomar para que isso esse processo no excel aconteça, talvez um VBA. me ajudem

Capturar.JPG

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jefferson simoes seja bem vindo ao forum. 

 

Segue um exempo, ao clicar o checkbox, a macro copia o conteudo da celula B2 (ms40) para celula A2 da aba nota

 

Private Sub CheckBox1_Click()
    Dim sh As Worksheet

    Set sh = Sheets("Nota")

    With ThisWorkbook.Worksheets("MS40")

        If .OLEObjects("CheckBox1").Object.Value = True Then
            sh.Range("A2").Value = .Range("B2").Value
        End If

    End With

End Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole a principio funcionou, porém uma dúvida, como vai ter vários itens com checkbox terei q fazer edição um a um para que cada checkbox, no VBA,  e isto mesmo ?

 

adicionado 9 minutos depois

@Basole sempre terei q faz um novo MACRO para cada checkbox ?

 

Editado por dif
O comando de mencionar não é @Mencionar. mas sim @NICKDAPESSOA ou simplesmente CLICAR na palavra "@Mencionar"

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce pode colocar um botao para executar a macro e fazer um loop checar os valores dos checkbox, 

referenciando cada checkbox a cada linha de dados.

 

Ex.:

Private Sub CommandButton1_Click()
    Dim objCkBox As Object, sh As Worksheet, i As Long
    
    Set sh = Sheets("Nota")
    i = 2
    If Not mBarEvents Then
      
        With Sheets("Ms40")
            For Each objCkBox In .OLEObjects
            
                If TypeName(objCkBox.Object) = "CheckBox" Then
                    objCkBox.Object.Value = True
                    sh.Range("A" & i).Value = .Range("B" & i).Value
                  i = i + 1
                End If
                
            Next objCkBox
        End With
    End If
    Application.ActiveWorkbook.RefreshAll
     
End Sub

 

 

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×