Página 1 de 1

Botão de comando para selecionar todas linhas numa Listview

Enviado: 28 Set 2020 às 12:50
por SERGIOS
Boa tarde,
Não encontro nenhum código para seleccionar todas as linhas numa Listview via VBA (excel).
A ideia era numa Listview, clickar num Comando Button e seleccionar as linhas todas (sem checkbox).
As linhas teria de ficar em "azul" para executar logo um comando "enviar" ou "guardar".
Os meus agradecimentos,
Sérgio Silva

Re: Botão de comando para selecionar todas linhas numa Listview

Enviado: 29 Out 2020 às 07:31
por AfonsoMira
Boas experimente o seguinte código:

Onde está ListView1, altere para o nome de seu ListView
Código: Selecionar todos
For i = 1 To ListView1.ListItems.Count
    ListView1.ListItems.Item(i).Checked = True 
Next i

Re: Botão de comando para selecionar todas linhas numa Listview

Enviado: 29 Out 2020 às 07:56
por SERGIOS
Bom dia Afonso,
Já tinha tentado com esse código mas só serve para fazer o efeito contrário.
Ou seja, se selecionadas as linhas (manualmente) e clicando no botão ele remove a seleção.
Procurei em vários locais e nunca encontrei a solução.
Obrigado pela ajuda.
Cumps

Re: Botão de comando para selecionar todas linhas numa Listview

Enviado: 29 Out 2020 às 08:44
por AfonsoMira
E trocando o true para false qual o resultado?
Não consigo testar aqui.
Código: Selecionar todos
For i = 1 To ListView1.ListItems.Count
    ListView1.ListItems.Item(i).Checked = False
Next i

Re: Botão de comando para selecionar todas linhas numa Listview

Enviado: 29 Out 2020 às 09:12
por AfonsoMira
Boas estive aqui a testar e penso que este dê. Ora experimente
Código: Selecionar todos
Dim i As Long
With ListView1
    For i = 1 To .ListItems.Count
        .ListItems(i).Selected = True
    Next i
End With
ListView1.SetFocus

Re: Botão de comando para selecionar todas linhas numa Listview

Enviado: 29 Out 2020 às 10:59
por SERGIOS
Boa tarde Afonso,
A magia aconteceu.
Os meus maiores agradecimentos,
Sérgio

Re: Botão de comando para selecionar todas linhas numa Listview

Enviado: 29 Out 2020 às 11:24
por AfonsoMira
Ora essa é um prazer ajudar.
Peço apenas desculpas por ter sido apenas um mês depois :shock:

Abraço,
Afonso Mira