| | 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.
max ____________________________
versione excel 365 ufficio
versione excel 2007 casa |
|
|