| | 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
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 |
| | 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.
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 ?? |
| | 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 | |
|
|
|