Ir ao conteúdo

Posts recomendados

Postado

Bom dia Pessoal, estou desenvolvendo um sistema de cadastro em vba, tendo como base uma planilha de excel onde estão todas as informações dos individuos que estão incluídos no cadastro, porém quando passo a planilha para o listbox no vba, alguns itens por serem um pouco grandes acabam que não aparecem completo na linha da listbox, logo precisaria saber se teria como de alguma forma fazer com que estes itens apareçam por completo na listbox, sendo cada linha um item especifico, seja por quebra de linhas ou mesmo passando o mouse e apareçendo o item completo. Desde já agradeço. Segue uma parte da listbox no vba.

listbox1.PNG

Postado

Olá @Basole, primeiramente muito obrigado pela sua dica, o porém é que quando coloquei o codigo adapatando o nome para minha listbox, deu erro na linha que está em negrito falando que o objeto é obrigatório, como não sou experiente em vba não entendi bem o porque. segue o trecho abaixo

 

Private Sub Lst_Busca_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim Position As Long

Position = Int(Y / 10)
If Position < UserForm.Lst_Busca.ListCount And Position >= 0 Then
    With Controls("TIPTEXT")
        .Caption = Me.Lst_Busca.List(Position)
        .Left = X + 75
        .Width = 50
        .Top = Y + 35
        .Height = 10
    End With
    Controls("TIPTEXT").Visible = True
Else
    Controls("TIPTEXT").Visible = False
End If

End Sub
 

Postado

@DaviCN sem ver o seu arquivo nao da pra responder com exatidao, mas acredito que tenha esquecido de nomear corretamente o userForm.

Se for isso, pode alterar a linha desta forma:

If Position < Me.Lst_Busca.ListCount And Position >= 0 Then

 

E para o pop-up se ajustar ao texto, experimente ajustar no codigo a largura:

.Width = VBA.Len(Me.Lst_Busca.List(Position)) * 8

 

Acrescente tambem, para o pop-up "sumir" quando o ponteiro do mouse NAO estiver selecionando um item do listbox:

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  If Controls("TIPTEXT").Visible = True Then Controls("TIPTEXT").Visible = False
End Sub

 

Postado

@Basole vou te mandar aqui a minha pasta do excel, ta um pouco bagunçada porque ainda estou organizando ela, qualquer dúvida com ela só me falar. Maior parte dos arquivos está no formulário frminspecao. Desde já agradeço sua ajuda.

SISTEMA CADASTRO.rar

adicionado 4 minutos depois

Além do mais, é a planilha "ARQUIVO" que está sendo importada para a listbox, no caso parte dela, logo são os itens correspondentes a esta planilha que eu queria que no caso aparecesse quando passasse o mouse sobre elas dentro da listbox

Postado

@Basole to te mandando aqui a minha pasta do excel na versão mais atualizada, no formulario "frminspecao" tentei implementar o codigo fornecido na minha listbox, porém não consegui ter êxito. Desde já agradeço o apoio.

SISTEMA IDEO.rar

Postado

@DaviCN infelizmente no exemplo do link que mostrei não prevê quantidade maior para itens/linhas do listbox que sao mostrados na tela. 

                        image.png.363f1ef32a8d1eb8da802ec366135f8c.png

 

Ou seja como a selecao e atraves do movimento do mouse, o pop-up,só mostra os 20 primeiros itens/linhas do listbox que estão na tela no limite x e y.

Vou ver se consigo driblar essa limitacão sem o uso de api, e posto aqui.

 

Segue em anexo o arquivo:

 

 

 

 

SISTEMA IDEO_Atualiz.zip

Postado

@Basole Bom dia, então, caso não tenha dado certo solucionar o problema das linhas, tudo bem, porém estou com dois problemas. Neste mesmo arquivo, no formulário "frminspecao" criei dois códigos, o primeiro(Private Sub ExcluirLinha_Click) é pra excluir linhas do formulário e por consequência da planilha através do botão "excluir" que tem na parte inferior do formulário, o problema é que quando eu excluo uma linha selecionada do formulário, gostaria que na planilha excluísse apenas a informação que contem no formulário e não a linha toda, no caso excluísse até a coluna "Quantidade de dias com inspeção", sendo que primeiro eu vou colocar o dia no formulário pra saber quais inspeções estão agendadas pra este dia, e depois selecionar e excluir a inspeção já realizada.

O segundo código(Private Sub D_change) é pra filtrar os dias do mes no formulário, a questão é queria fazer um range pro sistema reconhecer o intervalo de colunas que contém os dias, sendo que os dias estão no campo "Data a ser realizada a inspeção", o que eu tinha conseguido era colocar um codigo pra cada dia, só que eu queria um maneira mais prática de fazer um só codigo pra todos os dias. Qualquer dúvida estou à disposição.

Postado

Muito obrigado pelo retorno @Basole. Quanto a exclusão dos itens o que eu queria no caso era que quando eu selecionasse no formulário as linhas q eu quero excluir através do botão "Excluir" fosse excluida também nas linhas da planilha também, só q apenas as informações que estão na linha do formulário e não toda a linha.

Por exemplo se no formulário tem apenas as 6 primeiras colunas da planilha então seria excluída na planilha apenas as linhas das 6 primeiras colunas e não as colunas todas. Não sei se deu pra entender muito bem. Qlq dúvida estou à disposição.

  • mês depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!