È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Cerca valore rispettivo in colonna

Ultimo Aggiornamento: 16/07/2017 09:34
Post: 45
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
30/05/2017 16:48

Ciao a tutti

avrei bisogno di un vostro aiuto. Allego il file con la descrizione

Grazie mille,saluti
Marilena
Post: 2.001
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
30/05/2017 17:11

ciao

detto cosi' la cosa e' semplice

in B3=INDIRIZZO(CONFRONTA(B2;B4:B1000;0)+3;RIF.COLONNA())
in E3=INDIRIZZO(CONFRONTA(E2;E4:E1000;0)+3;RIF.COLONNA())
in H3=INDIRIZZO(CONFRONTA(H2;H4:H1000;0)+3;RIF.COLONNA())

Ciao da locate
excel 2007 / 13
Post: 45
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
30/05/2017 18:11

Ciao Locate,

grazie mille per la tua risposta.
La formula mi restituisce correttamente la posizione. Sarebbe però anche possibile fare in modo che cliccando sulla cella esempio B2, contenente il nome da confrontare, mi evidenzi la prima cella contenente mela posizionandola sotto il " blocco riquadri" inserito nella riga 3 ?

Riallego il file con le formule inserite

Grazie di cuore
Marilena
Post: 3.244
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
30/05/2017 20:19

Ciao Marilena

Non so se ho capito bene la tua domanda comunque la macro che vedi qui (da inserire nel modulo del foglio1 non uno standard) al doppio clic sulla cella B2 cerca in colonna B il suo contenuto (mela) e lo mette in B4

vb
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rng As Range
If Not Intersect(Target, Range("B2")) Is Nothing Then
With Sheets("Foglio1").Range("b4:b1000")
            Set rng = .Find(What:=Target.Value, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlWhole, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
            If Not rng Is Nothing Then
                rng.Cut Destination:=Cells(4, 2)
            Else
                MsgBox "Dato non trovato"
            End If
End With
End If
Cancel = True
End Sub


E' questo quello che vuoi?

se è corretto procedo per le altre due colonne.
[Modificato da alfrimpa 30/05/2017 20:29]

Alfredo
Post: 1.201
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
31/05/2017 01:57

Ciao Al

io la vedo così


Sub Nascondi()
valore = Cells(2, 2)
For i = 4 To Range("B" & Rows.Count).End(xlUp).Row
If Cells(i, 2) = valore Then
Rows(4 & ":" & i - 1).EntireRow.Hidden = True
Exit Sub
End If
Next

End Sub



se trovo il valore della cella B2
nascondo dalla quarta riga fino alla 54 in questo caso.

la colonna però ha più di una mela [SM=g27827]

perciò ho fermato la sub con exit sub per avere il primo risultato

se lo leviamo trova l'ultimo.

Vedi tu se a Mary va bene di completarla e al limite di portarla
sul change o sul doppio click come vuoi.

by by

[Modificato da federico460 31/05/2017 01:58]
Post: 1.202
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
31/05/2017 02:09

ripensandoci

forse vuole così


Sub Nascondi()
valore = Cells(2, 2)
For i = 4 To Range("B" & Rows.Count).End(xlUp).Row
If Cells(i, 2) = valore Then
Cells(i, 2).Select
Exit Sub
End If
Next

End Sub



ma si ferma sette righe sotto

alla riga 4
a te l'arduo compito di spostarla sotto alla riga 3

devi pur completare il mio tirocinio [SM=g27823]
Post: 2.002
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
31/05/2017 12:01

ciao

si potrebbe utilizzare la seguente sub() da inserire nel modulo del foglio


Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Long, col As Long
If Intersect(Target, Range("B2,E2,H2")) Is Nothing Then Exit Sub
col = Target.Column
For i = 4 To Cells(Rows.Count, col).End(xlUp).Row
If Cells(i, col) = Target.Value Then Exit For
Next i
Cells(4, col).Select
ActiveWindow.SmallScroll Down:=i - 4
End Sub



riallego il tuo file

Ciao da locate
excel 2007 / 13
Post: 46
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
01/06/2017 14:29

Grazie mille a tutti per il vostro aiuto.
La soluzione che cercavo è proprio quella proposta da Locate.

[SM=x423063]
Ancora grazie
saluti Marilena
Post: 53
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
01/07/2017 20:24

Ciao a tutti

Locate mi ha suggerito questa macro che va molto bene.
Una domanda: è possibile integrare nella macro il codice che permette di usare lo stesso sistema anche in orizzontale?
Es: se clicco sulla cella B5 mi cerca il nome “mela” e me lo posiziona alla quarta colonna
Allego file

grazie per ogni vostro aiuto

saluti Marilena
Post: 54
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
15/07/2017 14:20

aiutino ?? [SM=x423052]
Post: 510
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
15/07/2017 20:22

Ho modificato la macro così, vedi se ti va bene.
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim i As Long
    Dim col As Long
    Dim rig As Long
    
    If Not Intersect(Target, Range("G2,J2,M2")) Is Nothing Then
        col = Target.Column
        For i = 4 To Cells(Rows.Count, col).End(xlUp).Row
            If Cells(i, col) = Target Then Exit For
        Next i
        Cells(4, col).Select
        ActiveWindow.SmallScroll Down:=i - 4
    End If
    If Not Intersect(Target, Range("B5,B8,B11")) Is Nothing Then
        rig = Target.Row
        For i = 4 To Cells(rig, Columns.Count).End(xlToLeft).Column
            If Cells(rig, i) = Target Then Exit For
        Next i
        Cells(rig, 4).Select
        ActiveWindow.SmallScroll ToRight:=i - 4
    End If
    Cancel = True

End Sub

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 55
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
16/07/2017 09:34

Grazie mille Rollis va più che bene, va benissimo !!!! [SM=x423030] [SM=x423030] [SM=x423030]


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 15:32. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com