PELICHIERO,
Boa tarde!
A planilha está travando em razão de um procedimento meio complexo que foi criado nesse código. Você precisa avriguar o que esse código realmente faz e, se for o caso, efetuar modificações no mesmo de modo a otimizar o mesmo.
Veja, quando você clica na Caixa de Seleção SELECIONAR TUDO é disparado o código que está no evento Click do CheckBox. Esse código, faz uma varredura por cerca de 1.104 registros existentes em sua base de dados. E depois, como se não bastasse, dentro de cada um desses 1.104 registros, ainda é feita uma chamada a um procedimento do CommandButton1_Click que faz mais uma varredura por todos os 1.104 registros!!! Quer dizer... não entendi...
No trecho do código abaixo, coloco os comentários sobre isso que observei. Veja:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
UserForm1.ListView2.ListItems.Clear
For i = 1 To ListView1.ListItems.Count ' Aqui começa a varredura por todos os 1.104 itens registrados
If ListView1.ListItems.Item(i).Checked = False Then 'Aqui você verifica de os itens do ListView estão marcados.
ListView1.ListItems.Item(i).Checked = True
End If
Call CommandButton1_Click 'Aqui você chama a rotina que novamente faz uma varredura por todos os registros.
Next i
Else
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems.Item(i).Checked = True Then
ListView1.ListItems.Item(i).Checked = False
End If
Call CommandButton1_Click
Next i
End If
End Sub
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Postado : 24/04/2017 12:18 pm