Ciao a tutti,
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 Sub
If Cells(RRT, CCT).Value = NumI Then Cells(RRT, CCT + 6).Value = NumI
Sub 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 Sub
Torna a Applicazioni Office Windows
Macro che scatta quando cambia dato in un altro file Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 7 |
Problema con macro copia e rinomina file Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 2 |
Macro che ricerca combinazioni che danno un valore Autore: kar64 |
Forum: Applicazioni Office Windows Risposte: 10 |
Macro che indica la riga prima della cella attiva Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 19 |
Cartella che non si cancella perché non esiste Autore: aurelio37 |
Forum: Sistemi Operativi Windows Risposte: 23 |
Visitano il forum: Nessuno e 77 ospiti