|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 72
|
[V.B.] Macro Excel per trova e scrivi in cella
Ciao a tutti,
avrei bisogno di una macro che cerchi una data parola all'interno di una cella (o più celle), se trovata scriva in un altra cella un valore da me specificato. Esempio: La cella A:1 contiene: "Scarpe rosse lucide" La cella A:2 contiene: "Scarpe blu lucide" La cella A:3 contiene: "Scarpe nere pelle" La cella A:4 contiene: "Maglione Rosso" La cella A:5 contiene: "Maglione Verde" La cella A:6 contiene: "Scarpe blu pelle" CONDIZIONE A: Cerca nella colonna A:9999 le parole "scarpe" e "pelle" se trovate scrivi nella cella affianco il valore 10 CONDIZIONE B: Cerca nella colonna A:9999 le parole "maglione" se trovate scrivi nella cella affianco il valore 20 Quindi nella cella B:3 e B:6 ci dovrà essere il valore 10 Quindi nella cella B:4 e B:5 ci dovrà essere il valore 20 Grazie a tutti Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
ti serve per forza una macro?
se basta una funzione: Codice:
=SE(VAL.ERR(TROVA("aglione";A1))=FALSO;20;SE(VAL.ERR(TROVA("carpe";A1))=FALSO;SE(VAL.ERR(TROVA("pelle";A1))=FALSO;10;0);0))
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] Ultima modifica di zuper : 14-01-2010 alle 11:13. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
Dim i As Long
Dim txtCella As String
Application.ScreenUpdating = False
For i = 1 To 9999
txtCella = Sheets("nomeFoglio").Range("A" & i).Text
If InStr(1, txtCella, "maglione", vbTextCompare) > 0 Then Sheets("nomeFoglio").Range("B" & i).FormulaR1C1 = "20"
If InStr(1, txtCella, "scarpe", vbTextCompare) > 0 And InStr(1, txtCella, "pelle", vbTextCompare) > 0 Then Sheets("nomeFoglio").Range("B" & i).FormulaR1C1 = "10"
Next i
Application.ScreenUpdating = True
Inoltre il parametro vbTextCompare assicura che la condizione di matching sia case-insensitive. Infine una considerazione : personalmente non mi sembra una scelta brillante mettere tutto in una colonna sola. Meglio sarebbe stato prevedere una tabella dati con : TipoProdotto | Materiale | Colore quindi : Scarpe | Lucido | Rosso Scarpe | Pelle | Nero ... Maglione | [null] | Verde ... ecc... |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 72
|
grazie mille a entrambi
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 72
|
Ciao,
scusate di nuovo, una domanda rapida. Ho una variabile numerica di nome "max". Voglio far selezionare la cella con cordinate A:max, però ovviamente se scrivo Range("Amax").Select mi dà errore....come posso fare? Grazie mille Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Range("a" & max).Select
edit....BATTUTO per un soffio
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
beh cmq arrivare anche solo un secondo dopo di te è già un onore
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:28.




















