Newsgroup: it.comp.lang.visual-basic
Titolo: Problema VBA

Ciao a tutti! Ho un problema con una macro di Excel: su un foglio di
lavoro ho due colonne: nella A (i cui dati significativi partono dalla
riga 5) una serie di codici e nella B la corrispondente descrizione del
prodotto. Dovrei trovare una macro per eliminare da questa lista: 1) le
righe che hanno codice nullo (cella vuota) ; 2) eliminare le righe il cui
codice prodotto corrisponde a codici da me scelti. Qcn potrebbe indicarmi
come fare oppure dove trovare indicazioni per risolvere il mio problema?
Grazie!!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 risolvere il mio problema? 
    If Range("A2") = "Pippo" Then
       Range("A2").Select
       Selection.EntireRow.Delete
    End If
Il resto, puoi farlo da solo ;)
ciao!
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca


Questa macro(da inserire in un modulo di codice) elimina le righe se nel
foglio attivo le celle della colonna A sono vuote. Se nelle celle si trova
uno 0(zero) la riga non viene eliminata, se si trova un errore si ha un
errore vba da gestire(vedere macro più avanti):
Public Sub mEliminaRigheVuote()
On Error GoTo RigaErrore
    Dim nr As Long
    Dim l As Long
    With ActiveSheet
        nr = .Range("A65536").End(xlUp).Row
            For l = nr To 1 Step -1
                If .Cells(l, 1).Value = "" Then
                    .Rows(l).Delete Shift:=xlUp
                End If
            Next l
        .Cells(1, 1).Select
    End With
    Exit Sub
RigaErrore:
    MsgBox Err.Number & vbCrLf & Err.Description
End Sub
Questa macro(da inserire in un modulo di codice) elimina le righe se nel
foglio attivo le celle della colonna A sono vuote o contengono 0(zero),
anche nel caso in cui lo 0(zero) o la stringa vuota siano determinati da una
funzione(ad esempio se in A1 abbiamo: =SOMMA(F10:F30) ed il risultato è 0,
la riga 1 verrà eliminata). Se nella cella si trova un errore, si ha un
errore vba da gestire(vedere macro più avanti).
Attenzione. Le celle che contengono un risultato 0(zero) o di stringa vuota
dato da una funzione, non sono a tutti gli effetti celle vuote. Valutare di
volta in volta se le righe vanno o meno eliminate:
Public Sub mEliminaRigheVuote()
On Error GoTo RigaErrore
    Dim nr As Long
    Dim l As Long
    With ActiveSheet
        nr = .Range("A65536").End(xlUp).Row
            For l = nr To 1 Step -1
                If .Cells(l, 1).Value = 0 Then
                    .Rows(l).Delete Shift:=xlUp
                End If
            Next l
        .Cells(1, 1).Select
    End With
    Exit Sub
RigaErrore:
    MsgBox Err.Number & vbCrLf & Err.Description
End Sub
Questa macro(da inserire in un modulo di codice) elimina righe in cui le
celle della colonna sono vuote, contengono uno 0(zero) o contengono un
errore.
Attenzione. Le celle che contengono un errore, un risultato 0(zero) o di
stringa vuota dato da una funzione, non sono a tutti gli effetti celle
vuote. Valutare di volta in volta se le righe vanno o meno eliminate:
Public Sub mEliminaRigheVuote()
On Error GoTo RigaErrore
    Dim nr As Long
    Dim l As Long
    With ActiveSheet
        nr = .Range("A65536").End(xlUp).Row
            For l = nr To 1 Step -1
                If ISError(.Cells(l, 1).Value) = True Then
                    .Rows(l).Delete Shift:=xlUp
                ElseIf .Cells(l, 1).Value = 0 Then
                    .Rows(l).Delete Shift:=xlUp
                End If
            Next l
        .Cells(1, 1).Select
    End With
    Exit Sub
RigaErrore:
    MsgBox Err.Number & vbCrLf & Err.Description
End Sub
Per eliminare le righe che hanno un codice prodotto deciso da te:
come vuoi inserire questo codice?
Da una cella? Sostituisci
questa riga:
    If .Cells(l, 1).Value = 0 Then
con una cosa tipo
    If .Cells(l, 1).Value = .Range("A1").Value Then
-- 
----------------------------
Mauro Gamberini