Stergerea unui anumit text dintr-o lista, ListBox RemoveItem

Informatii despre cum se utilizeaza Microsoft Word 2003. Editare, formatare, automatizare de documente
Închis
ccirtina
Mesaje: 280
Membru din: Lun Oct 11, 2010 9:49 pm
Localitate: Craiova

Stergerea unui anumit text dintr-o lista, ListBox RemoveItem

Mesaj de ccirtina » Lun Dec 26, 2016 1:43 am

WORD 2003
Am un control ListBox1 ce contine urmatoarele inregistrari:
Herbert
Marie
Klaus
Roger
Manni
cum sterg un anumit text de exemplu Roger din ListBox1 printr-o apasare de buton?
Fara sa-l selectez cu mouse-ul.

ccirtina
Mesaje: 280
Membru din: Lun Oct 11, 2010 9:49 pm
Localitate: Craiova

Re: Stergerea unui anumit text dintr-o lista, ListBox Remove

Mesaj de ccirtina » Lun Dec 26, 2016 7:37 pm

se poate sterge cu comanda
ListBox1.RemoveItem (3)
dar eu nu vreau sa folosesc indexul ci vreau sa caute in lista cuvantul pe care doresc sa-l sterg iar daca il gaseste sa-l stearga daca nu sa imi dea mesaj ca nu a fost gasit cuvantul cautat.

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Stergerea unui anumit text dintr-o lista, ListBox Remove

Mesaj de Dr.Windows » Joi Dec 29, 2016 2:51 pm

Din pacate nu este foarte clar ce se doreste... pentru ca in prima faza se solicita "sa se stearga un cuvand dintr-o lista fara sa fie selectat cu mouse-ul"... pai atunci de unde sa stie VBA-ul ce ar trebui sa stearga?... daca era intr-o pozitie fixa era simplu... dar in a doua solicitare se mentioneaza ca trebuie "sa caute cuvantul"... ceea ce inseamna ca acel cuvant trebuie scris undeva sau selectat.

In cazul "generic"... lista trebuie parcursa element cu element pentru a-l putea sterge:

Cod: Selectaţi tot

    For i = 0 To Me.ListBox1.ListCount - 1

        If Me.ListBox1.List(i) = "cuvant de sters" Then
            Me.ListBox1.RemoveItem (i)
            exit for
        End If
            
    Next i

ccirtina
Mesaje: 280
Membru din: Lun Oct 11, 2010 9:49 pm
Localitate: Craiova

Re: Stergerea unui anumit text dintr-o lista, ListBox Remove

Mesaj de ccirtina » Joi Dec 29, 2016 7:18 pm

Ma gandesc la folosirea:
ListBox1.SetFocus
si apoi selectarea primei inregistrari din lista (folosind o comanda vba) dupa care va functiona foarte bine cu codul mentionat mai sus.
Asa este, partea cea mai grea este ca selectia sa inceapa dintr-un punct.
Incerc ca selectarea sa o fac folosind codul vba deoarece userform-ul este mult mai complex de aceea am ales un exemplu usor de la care sa pornesc.

ccirtina
Mesaje: 280
Membru din: Lun Oct 11, 2010 9:49 pm
Localitate: Craiova

Re: Stergerea unui anumit text dintr-o lista, ListBox Remove

Mesaj de ccirtina » Joi Dec 29, 2016 8:42 pm

caz rezolvat din doua bucle folosind codul descris mai sus:

Cod: Selectaţi tot

For j = 0 To ListBox1.ListCount - 1
For i = 0 To ListBox1.ListCount - 1

        If ListBox1.List(i) = "Marie" Or _
        ListBox1.List(i) = "Klaus" Or _
        ListBox1.List(i) = "Manni" Then
            ListBox1.RemoveItem (i)
            Exit For
        End If
    Next i
Next j
Multumesc.

Închis

Înapoi la “Intrebari despre Word 2003”