Discussione:
VBA - Trova numero riga con valore
(troppo vecchio per rispondere)
Marco Porzio
2020-09-10 12:46:05 UTC
Permalink
ciao,
come da oggetto, ho la necessità di trovare un valore e restituire la riga in cui si trova:

Questo codice funziona ma solo in parte:
IDmodif deriva da un valore che inserisco io tramite inputbox

Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
If Not FoundCell Is Nothing Then
Range("A" & FoundCell.Row).Select
Else
MsgBox (IDmodif & " non trovato")
End If

io ho ad esempio questi dati nella colonna A
1 1006
2 1005
3 1003
4 2
5 1
6 4
7 3
8 1002

se inserisco 1003 va tutto bene ma se inserisco 3 finisce comunque nella riga dove ho 1003 (cioè la prima che trova contenente il n°3)

come faccio per cercare in maniera esatta il valore? se metto 3 deve andare alla riga 7 e non alla riga 3...
grazie
Marco
Marco Porzio
2020-09-10 13:51:29 UTC
Permalink
Post by Marco Porzio
ciao,
IDmodif deriva da un valore che inserisco io tramite inputbox
Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
If Not FoundCell Is Nothing Then
Range("A" & FoundCell.Row).Select
Else
MsgBox (IDmodif & " non trovato")
End If
io ho ad esempio questi dati nella colonna A
1 1006
2 1005
3 1003
4 2
5 1
6 4
7 3
8 1002
se inserisco 1003 va tutto bene ma se inserisco 3 finisce comunque nella riga dove ho 1003 (cioè la prima che trova contenente il n°3)
come faccio per cercare in maniera esatta il valore? se metto 3 deve andare alla riga 7 e non alla riga 3...
grazie
Marco
credo di aver già risolto
da Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
a Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif, LookAt:=xlWhole)

mi confermate che ho solo dimenticato LookAt? ora mi sembra funzioni tutto...
casanmaner
2020-09-14 10:16:51 UTC
Permalink
Post by Marco Porzio
Post by Marco Porzio
ciao,
IDmodif deriva da un valore che inserisco io tramite inputbox
Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
If Not FoundCell Is Nothing Then
Range("A" & FoundCell.Row).Select
Else
MsgBox (IDmodif & " non trovato")
End If
io ho ad esempio questi dati nella colonna A
1 1006
2 1005
3 1003
4 2
5 1
6 4
7 3
8 1002
se inserisco 1003 va tutto bene ma se inserisco 3 finisce comunque nella riga dove ho 1003 (cioè la prima che trova contenente il n°3)
come faccio per cercare in maniera esatta il valore? se metto 3 deve andare alla riga 7 e non alla riga 3...
grazie
Marco
credo di aver già risolto
da Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
a Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif, LookAt:=xlWhole)
mi confermate che ho solo dimenticato LookAt? ora mi sembra funzioni tutto...
Direi di sì.
"xlWhole" imposta la ricerca esatta.
Marco Porzio
2020-09-14 10:17:41 UTC
Permalink
Post by casanmaner
Post by Marco Porzio
Post by Marco Porzio
ciao,
IDmodif deriva da un valore che inserisco io tramite inputbox
Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
If Not FoundCell Is Nothing Then
Range("A" & FoundCell.Row).Select
Else
MsgBox (IDmodif & " non trovato")
End If
io ho ad esempio questi dati nella colonna A
1 1006
2 1005
3 1003
4 2
5 1
6 4
7 3
8 1002
se inserisco 1003 va tutto bene ma se inserisco 3 finisce comunque nella riga dove ho 1003 (cioè la prima che trova contenente il n°3)
come faccio per cercare in maniera esatta il valore? se metto 3 deve andare alla riga 7 e non alla riga 3...
grazie
Marco
credo di aver già risolto
da Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
a Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif, LookAt:=xlWhole)
mi confermate che ho solo dimenticato LookAt? ora mi sembra funzioni tutto...
Direi di sì.
"xlWhole" imposta la ricerca esatta.
ok grazie per la conferma
Marco
casanmaner
2020-09-14 10:19:03 UTC
Permalink
Post by casanmaner
Post by Marco Porzio
Post by Marco Porzio
ciao,
IDmodif deriva da un valore che inserisco io tramite inputbox
Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
If Not FoundCell Is Nothing Then
Range("A" & FoundCell.Row).Select
Else
MsgBox (IDmodif & " non trovato")
End If
io ho ad esempio questi dati nella colonna A
1 1006
2 1005
3 1003
4 2
5 1
6 4
7 3
8 1002
se inserisco 1003 va tutto bene ma se inserisco 3 finisce comunque nella riga dove ho 1003 (cioè la prima che trova contenente il n°3)
come faccio per cercare in maniera esatta il valore? se metto 3 deve andare alla riga 7 e non alla riga 3...
grazie
Marco
credo di aver già risolto
da Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
a Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif, LookAt:=xlWhole)
mi confermate che ho solo dimenticato LookAt? ora mi sembra funzioni tutto...
Direi di sì.
"xlWhole" imposta la ricerca esatta.
Qui una piccola guida:
http://renato7.altervista.org/WP/range-find/?doing_wp_cron=1600078653.6725330352783203125000
Marco Porzio
2020-09-14 10:21:01 UTC
Permalink
Post by casanmaner
Post by casanmaner
Post by Marco Porzio
Post by Marco Porzio
ciao,
IDmodif deriva da un valore che inserisco io tramite inputbox
Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
If Not FoundCell Is Nothing Then
Range("A" & FoundCell.Row).Select
Else
MsgBox (IDmodif & " non trovato")
End If
io ho ad esempio questi dati nella colonna A
1 1006
2 1005
3 1003
4 2
5 1
6 4
7 3
8 1002
se inserisco 1003 va tutto bene ma se inserisco 3 finisce comunque nella riga dove ho 1003 (cioè la prima che trova contenente il n°3)
come faccio per cercare in maniera esatta il valore? se metto 3 deve andare alla riga 7 e non alla riga 3...
grazie
Marco
credo di aver già risolto
da Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif)
a Set FoundCell = ws.Range("A9:A1000000").Find(What:=IDmodif, LookAt:=xlWhole)
mi confermate che ho solo dimenticato LookAt? ora mi sembra funzioni tutto...
Direi di sì.
"xlWhole" imposta la ricerca esatta.
http://renato7.altervista.org/WP/range-find/?doing_wp_cron=1600078653.6725330352783203125000
grazie

Continua a leggere su narkive:
Loading...