Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Joaopmata182
Posts
#35689
Boa tarde à todos!
Ontem pedi ajuda para resolver um problema que estava tendo em uma listbox, cujo o mesmo era:
alterar um valor de acordo com o um double click na listbox. Fui ajudado e realmente funcionou, porém hoje
percebi que preciso de realizar o mesmo comando, porém selecionando mais de uma linha na listbox.
Tentei usar listbox1.Selected , listbox1.Multiselect,
só que nenhum desses comandos estão resolvendo meu problema.
Seria possível uma ajuda?
Segue o código e planilha em anexo
Obrigado

Private Sub CommandButton1_Click()
Editar = ListBox1.ListIndex
COD = ListBox1.List(Editar, 0)
VERIFICAR = ListBox1.List(Editar, 17)
resp = MsgBox("Confirmar?", vbYesNo, "")
If resp = vbYes Then
Sheets("joao").Select
Range("b3").Select


Do

If ActiveCell.Value = COD Then

ActiveCell.Select
ActiveCell.Offset(0, 17).Select

If VERIFICAR = "NÃO PAGO" Then
ActiveCell.Value = "PAGO"
ListBox1.List(Editar, 17) = "PAGO"
Else
ActiveCell.Value = "NÃO PAGO"
ListBox1.List(Editar, 17) = "NÃO PAGO"
End If

Exit Sub

End If
If ActiveCell.Value = "" Then
Exit Sub
End If

ActiveCell.Offset(1, 0).Select

Loop

Else
Exit Sub

End If

End Sub
Você não está autorizado a ver ou baixar esse anexo.
Por mprudencio
Posts
#35718
Pessoalmente eu faria o seguinte:

A cada item a dar baixa na planilha eu daria um double_click.

A chance de o usuario cometer erros diminui

Eu uso assim em uma planilha minha e funciona bem.

Por mais que sejam muitas contas a dar baixa no pagamento nao são mais que 10, 20 contas no dia.

No meu caso eu deixo em ordem pela data de vencimento assim as mais proximas do vencimento estao sempre em cima e fica facil localizar.
Por Joaopmata182
Posts
#35719
Consegui resolver esse problema usando o comando Selected com o listcount e funcionou. Usei o find colocando como condição a coluna de código do meu listbox.

Private Sub CommandButton3_Click()

For I = 0 To (ListBox1.ListCount - 1)
If ListBox1.Selected(I) = True Then
Sheets(ComboBox1.Value).Select
Cells.find(What:=ListBox1.List(I, 0), After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
If ActiveCell.Offset(0, 18) = "NÃO PAGO" Then
ActiveCell.Offset(0, 18).Value = "PAGO"
ListBox1.List(I, 18) = "PAGO"
Else
ActiveCell.Offset(0, 18).Value = "NÃO PAGO"
ListBox1.List(I, 18) = "NÃO PAGO"
End If
End If

Next
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord