avrei bisogno di una macro che mi trova i 5 numeri del range E4:I4
nel Range E6:I23 (tabella 1)
esempio come tabella 2
e li trasla eliminando le celle vuote e inserisce il range(E4:I4) in fondo
esempio come tabella 3

Moderatori: Anthony47, Flash30005

Anthony ha scritto:che fare quando hai esaurito le celle di tabella1, perche' il caso che hai disegnato in cui mancano esattamente 5 celle che prendi da E14:I14 e' assolutamente ipotetico: che fare se mancano solo 2 celle, o se invece ne mancano 8?
Sub TrovaTrasla()
For CCn = 5 To 9
NumI = Cells(4, CCn).Value
For RRT = 6 To 23
For CCT = 5 To 9
If Cells(RRT, CCT).Value = NumI Or Cells(RRT, CCT).Value = "" Then
ValN = Cells(RRT, CCT + 1)
If Cells(RRT, CCT).Value = NumI Then Nt = Nt + 1
Cells(RRT, CCT + 1).Clear
If CCT = 9 Then
ValN = Cells(RRT + 1, 5).Value
Cells(RRT + 1, 5).Clear
End If
Cells(RRT, CCT).Value = ValN
End If
Next CCT
Next RRT
Cells(RRT - 1, CCT - 1).Value = NumI
Next CCn
End Sub

...
If Cells(RRT, CCT).Value = NumI Then Nt = Nt + 1
Cells(RRT, CCT + 1).ClearContents '<<<<<<<<<<< qui
If CCT = 9 Then
ValN = Cells(RRT + 1, 5).Value
Cells(RRT + 1, 5).ClearContents '<<<<<<<<<<< qui
End If
...
Statix ha scritto:volevo chiederti un altra cosa,
come fare a prendere i 5 numeri dalla tabella e visualizzarli nel range sopra come l'esempio.
Sub Trascrivi()
For CCn = 5 To 9
NumI = Cells(4, CCn).Value
For RRT = 6 To 23
For CCT = 5 To 9
If Cells(RRT, CCT).Value = NumI Then Cells(RRT, CCT + 6).Value = NumI
Next CCT
Next RRT
Next CCn
End SubIf Cells(RRT, CCT).Value = NumI Then Cells(RRT, CCT + 6).Value = NumISub TrovaTrasla2()
Call Trascrivi '<<<<<<<<< chiamata macro trascrivi
For CCn = 5 To 9
NumI = Cells(4, CCn).Value
For RRT = 6 To 23
For CCT = 5 To 9
If Cells(RRT, CCT).Value = NumI Or Cells(RRT, CCT).Value = "" Then
ValN = Cells(RRT, CCT + 1)
Cells(RRT, CCT + 1).ClearContents
If CCT = 9 Then
ValN = Cells(RRT + 1, 5).Value
Cells(RRT + 1, 5).ClearContents
End If
Cells(RRT, CCT).Value = ValN
End If
Next CCT
Next RRT
Cells(RRT - 1, CCT - 1).Value = NumI
Next CCn
End Sub

Statix ha scritto:e li trasla eliminando le celle vuote e inserisce il range(E4:I4) in fondo
esempio come tabella 3
Statix ha scritto:volevo chiederti un altra cosa,
come fare a prendere i 5 numeri dalla tabella e visualizzarli nel range sopra come l'esempio.


Sub TrascriviRev()
CCn = 5
For RRT = 6 To 23
For CCT = 5 To 9
If Cells(RRT, CCT).Value <> "" Then
NumI = Cells(RRT, CCT).Value
Cells(4, CCn).Value = NumI
CCn = CCn + 1
End If
Next CCT
Next RRT
End SubTorna a Applicazioni Office Windows
| Macro modifica date scelta periodo Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 11 |
| Supporto per sviluppo macro VBA Ordinare per data Autore: Carletto Ribolla |
Forum: Applicazioni Office Windows Risposte: 3 |
Visitano il forum: Nessuno e 19 ospiti