Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

eliminare righe contenenti determinati valori

Ultimo Aggiornamento: 19/11/2016 21:32
Post: 683
Registrato il: 28/12/2009
Città: CITTADELLA
Età: 62
Utente Senior
excel 2007/365
OFFLINE
17/11/2016 20:07

Salve è possibile eliminare il contenuto di alcune righe contenenti determinati valori contenuti in una colonna A?
Il range è da A:R le celle sono nella colonna A dall riga3
Allego esempio.
Un grazie in anticipo.
max

____________________________
versione excel 365 ufficio
versione excel 2007 casa
Post: 1.908
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
17/11/2016 23:18

ciao

scaricato il tuo file e visionato, ma non riesco a capire cosa vuoi fare con l'esempio che hai presentato

in colonna A:A non vi e' niente e nessuna spiegazione tranne la stringa
Codice


spiegati meglio


Ciao da locate
excel 2007 / 13
Post: 683
Registrato il: 28/12/2009
Città: CITTADELLA
Età: 62
Utente Senior
excel 2007/365
OFFLINE
18/11/2016 19:20

Ciao locate,
mi spiego (spero):
nelle celle delle colonne A/R di sono dei valori-caratteri particolari.
Nell'esempio sono:

A3= --------
A4= Codice
H5= da produrre.
A6= --------

possono essere altri ma ho riportato solo un esempio.
Questi valori sono il risultato di un "testo in colonne" di una parte di una stampa di un gestionale.
Praricamente quando nel range colonne A/R sono presenti questi valori cancella il contenuto della riga.
Spero di essermi spiegato.
max
____________________________
versione excel 365 ufficio
versione excel 2007 casa
Post: 979
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
18/11/2016 19:45

Ciao
non ho visto il file, comunque qualcosa del genere:

set mrng=range("A1:R100)
for each c in mRng
select case c.value
case "----","codice","da produrre"
c.value=""
end select
next

Attento che è case sesitive!!

saluti
[Modificato da dodo47 18/11/2016 19:46]
Domenico
Win 10 - Excel 2016
Post: 685
Registrato il: 28/12/2009
Città: CITTADELLA
Età: 62
Utente Senior
excel 2007/365
OFFLINE
18/11/2016 20:11

Ciao dodo.
Cosa significa?

Attento che è case sesitive!!

max
____________________________
versione excel 365 ufficio
versione excel 2007 casa
Post: 1.909
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
18/11/2016 23:48

ciao

sub alternativa a quella di dodo, che saluto


Option Explicit
Sub Elimina()
Dim celle As Range
Dim vcella As Variant
Set celle = Range("A1:R100")
For Each vcella In celle
If InStr(1, vcella, "-", vbTextCompare) > 0 Then vcella.ClearContents
Next
Set celle = Nothing
End Sub




Ps questi sono solo esempi di applicazione al VBA
Ciao da locate
excel 2007 / 13
Post: 981
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
19/11/2016 10:09

Ciao
"case sensitive" vuol dire "sensibile al maiuscolo/minuscolo", nel tuo esempio, che se scrivi:
....
case "----","codice","da produrre"

e nel foglio hai "Codice", non lo elimina

Un modo per ovviare a questo è l'uso di UCASE o LCASE

saluti

@locate (cari saluti): da quel che ho capito deve cancellare non solo i "---" ma anche le parole codice e da produrre....
[Modificato da dodo47 19/11/2016 10:13]
Domenico
Win 10 - Excel 2016
Post: 2.488
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
19/11/2016 12:03

Buona giornata, Domenico;
da quel poco che credo di aver capito, Max vuole cancellare i Valori contenuti nel Range "A:R" della Riga.

maxma62, in Risposta #3, scrive:

Praticamente quando nel range colonne A/R sono presenti questi valori cancella il contenuto della riga.



Interpretando che l'azione vada compiuta quando almeno uno dei valori indicati sia presente nel Range "A:R" della Riga, molto indegnamente, mi sono permesso di modificare il Tuo Codice VBA:

Option Explicit
Option Compare Text

Sub Cancella_Riga()
Application.ScreenUpdating = False
Dim mrng As Range
Dim c
Dim Riga

Set mrng = Range("A3:R100")
    For Each c In mrng
        Select Case c.Value
            Case "----"
                Range(Cells(c.Row, 1), Cells(c.Row, 18)).ClearContents
            Case "codice"
                 Range(Cells(c.Row, 1), Cells(c.Row, 18)).ClearContents
            Case "da produrre"
                 Range(Cells(c.Row, 1), Cells(c.Row, 18)).ClearContents
        End Select
            
    Next
Set mrng = Nothing
Application.ScreenUpdating = True
End Sub


Poi, solo Max potrà dirmi, spero che almeno questa volta lo faccia, dove ho sbagliato.



A disposizione.

Buon fine settimana.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 983
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
19/11/2016 12:16

Ciao
si, mi era sfuggita la cancellazione della riga da....a, è sufficiente:

Set mrng = Range("A3:R100")
For Each c In mrng
Select Case c.Value
Case "----", "codice", "da produrre"
Range(Cells(c.Row, 1), Cells(c.Row, 18)).ClearContents 'per gentile concessione di Giuseppe...
End Select
Next

saluti


[Modificato da dodo47 19/11/2016 12:17]
Domenico
Win 10 - Excel 2016
Post: 687
Registrato il: 28/12/2009
Città: CITTADELLA
Età: 62
Utente Senior
excel 2007/365
OFFLINE
19/11/2016 19:55

Grazie a tutti.
Giuseppe è o.k.
Un saluto.
max
____________________________
versione excel 365 ufficio
versione excel 2007 casa
Post: 688
Registrato il: 28/12/2009
Città: CITTADELLA
Età: 62
Utente Senior
excel 2007/365
OFFLINE
19/11/2016 21:32

Ciao dodo47,
anche la tua macro è o.k. [SM=g27811]
max
____________________________
versione excel 365 ufficio
versione excel 2007 casa
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 09:25. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com