La macro nel file mi elenca nel foglio "In scadenza" l'azienda e la tipologia di scadenza verificatasi.
https://www.dropbox.com/scl/fi/i3q4s4gv562xsx2p4yn1g/Scadenze-Forum.xlsm?dl=0&rlkey=qu5jc0rqp3tcf5w8kn8ekntp1
- Codice: Seleziona tutto
Sub SCADUTI()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim DB As Variant, Matrix() As Variant
Dim j As Long, nIncr As Long
Set WS1 = Sheets("DB Doc")
Set WS2 = Sheets("In scadenza")
DB = WS1.Range("A2:K" & WS1.Range("K" & Rows.Count).End(xlUp).Row).Value2
WS2.Range("B:C").NumberFormat = "dd/mm/yyyy"
For j = LBound(DB) To UBound(DB)
Select Case True
Case DB(j, 10) < Date And DB(j, 11) < Date
nIncr = nIncr + 1
ReDim Preserve Matrix(1 To 3, 1 To nIncr)
Matrix(1, nIncr) = DB(j, 1)
Matrix(2, nIncr) = DB(j, 10)
Matrix(3, nIncr) = DB(j, 11)
Case DB(j, 10) < Date
nIncr = nIncr + 1
ReDim Preserve Matrix(1 To 3, 1 To nIncr)
Matrix(1, nIncr) = DB(j, 1)
Matrix(2, nIncr) = DB(j, 10)
Case DB(j, 11) < Date
nIncr = nIncr + 1
ReDim Preserve Matrix(1 To 3, 1 To nIncr)
Matrix(1, nIncr) = DB(j, 1)
Matrix(3, nIncr) = DB(j, 11)
Case Else
End Select
Next j
WS2.Range("A2:C" & Rows.Count).ClearContents
If nIncr > 0 Then
WS2.Range("A2:C" & nIncr + 1).Value = Application.Transpose(Matrix)
End If
Set WS1 = Nothing
Set WS2 = Nothing
End Sub
Ma se volessi ottenere solo le scadenze che rispondono a due condizioni, ossia:
1) scaduto fino a __( cella H2)
2) scegliere quale scadenza voglio analizzare (cella J2)
Grazie per l'aiuto.