Risultati da 1 a 7 di 7

Discussione: Eliminare Righe su foglio tramite listbox filtrata



  1. #1
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    780
    Versione Office
    2010
    Utile ricevuti
    114
    Utile dati
    1

    Eliminare Righe su foglio tramite listbox filtrata

    Buongiorno a tutti !
    Se la listbox non è filtrata basta caricarla con rowsource ed il problema è risolto, nel caso in cui sia filtrata il problema è risalire al numero di riga nel foglio, io ho risolto inserendo nel foglio una colonna con la formula Rif.Riga come da esempio allegato, ma non mi sembra una soluzione molto elegante.
    Si può fare di meglio ?
    File Allegati File Allegati

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    780
    Versione Office
    2010
    Utile ricevuti
    114
    Utile dati
    1

    Re: Eliminare Righe su foglio tramite listbox filtrata

    Scusatemi, ho allegato una versione con errori, allego il nuovo file
    File Allegati File Allegati

  3. #3
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    780
    Versione Office
    2010
    Utile ricevuti
    114
    Utile dati
    1

    Re: Eliminare Righe su foglio tramite listbox filtrata

    Nessuna risposta, sono così bravo ? mi sembra strano

  4. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    3126
    Versione Office
    2013
    Utile ricevuti
    932
    Utile dati
    753

    Re: Eliminare Righe su foglio tramite listbox filtrata

    Ciao patel,
    ho visto ora questa discussione, ma non ho chiaro quello che devi fare...

    Apri la userform, filtri ad esempio per riccardo, metti tutte le spunte e clicchi sul pulsante "Elimina".... e dovrebbe eliminare le righe corrispondenti nel foglio?

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  5. #5
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    780
    Versione Office
    2010
    Utile ricevuti
    114
    Utile dati
    1

    Re: Eliminare Righe su foglio tramite listbox filtrata

    hai capito benissimo

  6. #6

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    3126
    Versione Office
    2013
    Utile ricevuti
    932
    Utile dati
    753

    Re: Eliminare Righe su foglio tramite listbox filtrata

    Ciao,
    stavo cercando di utilizzare una matrice() dove riprendevo i dati del foglio e all'ottava colonna inserivo il numero di riga del foglio:

    Codice: 
    Sub mCaricaListBox(ByVal s As Integer)
        Dim lRiga As Long, Righe(), x As Long, y As Long
        With sh
            lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
        End With
        With Me.ListBoxELENCO
          If s = -1 Then
            .Clear
            ReDim Righe(0 To lRiga - 2, 1 To 8)
            For x = 2 To lRiga
                For y = 1 To 7
                    Righe(x - 2, y) = Cells(x, y).Value
                Next y
                Righe(x - 2, 8) = x
            Next x
            .List = Righe
          Else
            
            For I = .ListCount - 1 To 0 Step -1
                If InStr(UCase(.List(I, s)), UCase(Me.TextBox1.Text)) = 0 Then
                    .RemoveItem (I)
                End If
            Next
            If .ListCount = 0 Then MsgBox "Nessun dato trovato.", vbOKOnly + vbInformation, "Attenzione"
          End If
        End With
    End Sub
    ma c'è qualcosa che non va durante l'eliminazione.....

    non so se sia giusta come strada, magari riesci a trarne qualcosa di utile.
    Comunque domani continuerò a provarci

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  7. #7
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    71
    Messaggi
    780
    Versione Office
    2010
    Utile ricevuti
    114
    Utile dati
    1

    Re: Eliminare Righe su foglio tramite listbox filtrata

    Ottimo suggerimento ! funziona, basta sostituire la riga
    Codice: 
              nriga = .List(I, 8)
    con
    Codice: 
              nriga = .List(I, 7)
    allego il codice completo in cui ho anche eliminato la visualizzazione del numero di riga
    Codice: 
    Private sh As Worksheet
    Private Sub Cb_FILTRA_CLIENTE_Click()
    Call CB_CARICA_ELENCO_Click
        Call mCaricaListBox(0)
    End Sub
    Private Sub CommandButton_DESELEZIONA_TUTTO_ELENCO_Click()
    
    Dim I As Integer
    For I = ListBoxELENCO.ListCount - 1 To 0 Step -1
    ListBoxELENCO.Selected(I) = False
    Next I
    End Sub
    
    Private Sub CommandButton_seleziona_tutto_elenco_Click()
    Dim I As Integer
    For I = ListBoxELENCO.ListCount - 1 To 0 Step -1
    ListBoxELENCO.Selected(I) = True
    Next I
    End Sub
    Private Sub CommandButtonELIMINA_Click()
    Dim I As Long, LR As Long
        Application.ScreenUpdating = False
        Dim iRisposta As Integer
    iRisposta = MsgBox("sicuro di ELIMINARE la riga selezionata ??", vbYesNo)
    If iRisposta = vbYes Then
        With Me.ListBoxELENCO
            For I = .ListCount - 1 To 0 Step -1
            If .Selected(I) Then
              LR = Sheets("cestino").Cells(Rows.Count, "B").End(xlUp).Row + 1
              nriga = .List(I, 7)
              sh.Range("A" & nriga & ":G" & nriga).Cut Sheets("cestino").Cells(LR, 1)
              sh.Rows(nriga).Delete
              ListBoxELENCO.RemoveItem (I)
            End If
        Next
        Application.ScreenUpdating = True
        End With
    End If
    End Sub
    
    
    Private Sub CommandButton_Seleziona_tutto_Click()
    Dim I As Integer
    For I = ListBox1.ListCount - 1 To 0 Step -1
    ListBox1.Selected(I) = True
    Next I
    End Sub
    
    Private Sub CB_CARICA_ELENCO_Click()
    Set sh = ThisWorkbook.Worksheets("ELENCO")
    ListBoxELENCO.ColumnCount = 7
    ListBoxELENCO.ColumnWidths = "90;70;80;70;190;20;70" ';10"
        Call mCaricaListBox(-1)
    End Sub
    Sub mCaricaListBox(ByVal s As Integer)
        Dim lRiga As Long, Righe(), x As Long, y As Long
        With sh
            lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
        End With
        With Me.ListBoxELENCO
          If s = -1 Then
            .Clear
            ReDim Righe(0 To lRiga - 2, 1 To 8)
            For x = 2 To lRiga
                For y = 1 To 7
                    Righe(x - 2, y) = Cells(x, y).Value
                Next y
                Righe(x - 2, 8) = x
            Next x
            .List = Righe
          Else
            For I = .ListCount - 1 To 0 Step -1
                If InStr(UCase(.List(I, s)), UCase(Me.TextBox1.Text)) = 0 Then
                    .RemoveItem (I)
                End If
            Next
            If .ListCount = 0 Then MsgBox "Nessun dato trovato.", vbOKOnly + vbInformation, "Attenzione"
          End If
        End With
    End Sub

  8. I seguenti 2 utenti hanno dato un "Utile" a patel per questo post:


Discussioni Simili

  1. [Risolto] Aggiungere o eliminare caratteri in celle già piene, tramite macro
    Di Gatt88 nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 23/11/16, 09:49
  2. Import dati (da CSV) e formattazione filtrata su altro foglio (XLSM)
    Di freepredator nel forum Domande su Excel VBA e MACRO
    Risposte: 16
    Ultimo Messaggio: 24/09/16, 00:52
  3. come eliminare righe vuote, tra righe di testo in una pagina excel
    Di francesco71 nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 08/05/16, 12:13
  4. tabella filtrata in un altro foglio
    Di Onofrio nel forum Domande su Excel in generale
    Risposte: 16
    Ultimo Messaggio: 03/05/16, 15:48
  5. Aggiungere righe su una combox e listbox
    Di nick0573 nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 18/03/16, 23:53

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •