Moderatori: Anthony47, Flash30005
Sub NascondiRighe()
VS1 = Range("A1").Value
For RR = 1010 To 10 Step -1
Tr = 0
If Range("A" & RR).Value = "" Then GoTo saltaRR1
With Worksheets("Foglio1").Range("A" & RR & ":G" & RR)
Set C = .Find(VS1, LookIn:=xlFormulas, LookAt:=xlPart)
If Not C Is Nothing Then
firstAddressC = C.Address
Tr = 1
Do
Set C = .FindNext(C)
Tr = 1
Loop While Not C Is Nothing And C.Address <> firstAddressC
End If
End With
If Tr = 0 Then
GoTo ProcVs1
End If
saltaRR1:
If Range("A" & RR).Value <> "" And Tr = 0 Then Rows(RR & ":" & RR).EntireRow.Hidden = True
Next RR
Exit Sub
ProcVs1:
VS2 = Range("A2").Value
With Worksheets("Foglio1").Range("A" & RR & ":G" & RR)
Set D = .Find(VS2, LookIn:=xlFormulas, LookAt:=xlPart)
If Not D Is Nothing Then
firstAddressD = D.Address
Tr = 1
Do
Set D = .FindNext(D)
Tr = 1
Loop While Not D Is Nothing And D.Address <> firstAddressD
End If
End With
GoTo saltaRR1
End Sub
Sub Scopririghe()
Rows("10:1100").EntireRow.Hidden = False
End Sub
=--E(O(LUNGHEZZA(SOSTITUISCI(A10;$A$1;""))<LUNGHEZZA(A10);LUNGHEZZA($A$1)=0);O(LUNGHEZZA(SOSTITUISCI(A10;$A$2;""))<LUNGHEZZA(A10);LUNGHEZZA($A$2)=0))
=A10&B10&C10&D10&E10&F10&G10
Private Sub Worksheet_Change(ByVal Target As Range)
AreaFiltro = "A10:A5000" '<<L' area che sara' filtrata
Key11 = "$A$1" '<<La cella con la prima chiave
Key22 = "$A$2" '<< e quella con la seconda
'
If Target.Address <> Key11 And Target.Address <> Key22 Then Exit Sub
'
Cri1 = "*" & Range(Key11).Value & "*"
Cri2 = "*" & Range(Key22).Value & "*"
Range(AreaFiltro).AutoFilter Field:=1, Criteria1:=Cri1, Operator:=xlAnd, _
Criteria2:=Cri2
Target.Select
End Sub
AreaFiltro = "M10:M5000"
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
NRMAX = Application.WorksheetFunction.CountA([A10:A65000]) + 20
If ActiveCell.Row = 2 And ActiveCell.Column = 2 Then NascondiRighe
End Sub
Sub NascondiRighe()
Rows("10:65536").EntireRow.Hidden = True
Range("M8").FormulaR1C1 = "=--AND(OR(LEN(SUBSTITUTE(RC[-9],R1C1,""""))<LEN(RC[-9]),LEN(R1C1)=0),OR(LEN(SUBSTITUTE(RC[-9],R2C1,""""))<LEN(RC[-9]),LEN(R2C1)=0))"
Range("M8").Copy
Range("M8:M" & NRMAX).PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
For I1 = 10 To NRMAX
If Cells(I1, 13) = 1 Then Rows(I1).EntireRow.Hidden = False
Next I1
End Sub
Ma nessuno di noi ti ha suggerito quell' istruzione...Vi assicuro che con il comando:
- Codice: Seleziona tutto
Range(AreaFiltro).AutoFilter Field:=1, Criteria1:=cells(1,1), Operator:=xlAnd, Criteria2:=cells(2,1)
alcune righe non venivano filtate/visualizzate.
Range(AreaFiltro).AutoFilter Field:=1, Criteria1:=Cri1, Operator:=xlAnd, _
Criteria2:=Cri2
Private Sub Worksheet_Change(ByVal Target As Range)
AreaFiltro = "A10:G5000" '<<L' area dati; la prima colonna sara' filtrata
KeyArea = "A1:D2"
'
If Application.Intersect(Target, Range(KeyArea)) Is Nothing Then Exit Sub
'If Target.Address <> Key11 And Target.Address <> Key22 Then Exit Sub
'
Cri1 = "*" & Range("A1").Value & "*"
Cri2 = "*" & Range("A2").Value & "*"
Cri1b = "*" & Range("B1").Value & "*"
Cri2b = "*" & Range("B2").Value & "*"
Cri1c = "*" & Range("C1").Value & "*"
Cri2c = "*" & Range("C2").Value & "*"
Range(AreaFiltro).AutoFilter Field:=1, Criteria1:=Cri1, Operator:=xlAnd, _
Criteria2:=Cri2
Range(AreaFiltro).AutoFilter Field:=2, Criteria1:=Cri1b, Operator:=xlAnd, _
Criteria2:=Cri2b
Range(AreaFiltro).AutoFilter Field:=3, Criteria1:=Cri1c, Operator:=xlAnd, _
Criteria2:=Cri2c
Target.Select
End Sub
Torna a Applicazioni Office Windows
Excel: problema con date se devo unirle a testi Autore: valle1975 |
Forum: Applicazioni Office Windows Risposte: 5 |
menu a tendina con filtro per selezione elenco Autore: marcus69 |
Forum: Applicazioni Office Windows Risposte: 13 |
Filtro automatico non filtra più di un certo numero di righe Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Nessuno e 19 ospiti