In una prima analisi sembrerebbe che questa macro risolva
- Codice: Seleziona tutto
Sub InsPanch()
ContaA = 0
ContaG = 0
For RR = 4 To 6
If Range("E" & RR).Value <> "" Then
ContaG = ContaG + 1
Else
GoTo saltaRR1
End If
If Range("E" & RR).Value <> "" And (Range("G" & RR).Value = "-" Or Range("G" & RR).Value = 0) Then
ContaA = ContaA + 1
End If
Next RR
saltaRR1:
For RR = 4 To 6
If ContaA > 0 Then
MyC = Evaluate("COUNTIF(E4:E6,H" & RR & ")")
If MyC = 0 Then
If Range("J" & RR).Value <> "-" And Range("J" & RR).Value <> "" Then
ContaA = ContaA - 1
Range("E" & ContaG + 4).Value = Range("H" & RR).Value
Range("G" & ContaG + 4).Value = Range("J" & RR).Value
ContaG = ContaG + 1
End If
End If
End If
Next RR
For RRC = 8 To 26 Step 9
ContaA = 0
ContaG = 0
For RR = RRC To RRC + 7
If Range("E" & RR).Value <> "" Then
ContaG = ContaG + 1
Else
GoTo saltaRR2
End If
If Range("E" & RR).Value <> "" And (Range("G" & RR).Value = "-" Or Range("G" & RR).Value = 0) Then
ContaA = ContaA + 1
End If
Next RR
saltaRR2:
For RR = 8 To 15
If ContaA > 0 Then
MyC = Evaluate("COUNTIF(E" & RRC & ":E" & RRC + 7 & ",H" & RR & ")")
If MyC = 0 Then
If Range("J" & RR).Value <> "-" And Range("J" & RR).Value <> "" Then
ContaA = ContaA - 1
Range("E" & ContaG + RRC).Value = Range("H" & RR).Value
Range("G" & ContaG + RRC).Value = Range("J" & RR).Value
ContaG = ContaG + 1
End If
End If
End If
Next RR
Next RRC
End Sub
Se incontri problemi descrivi quali
ciao