Dovrei creare un file in Excel dove disporre su queste colonne questi dati:
CodiceCliente|nomecliente|datablocco|bloccato(si/no)|datasblocco|
in pratica vorrei tenere traccia dei (spero pochi) clienti non paganti, in modo tale da ottenere in un'altra scheda il report dei soli clienti che sono attualmente bloccati (quindi con il campo bloccato=si).
Nel foglio che avevo in mente pensavo di continuare a popolarlo, quindi quando un cliente salda una fattura inserisco una nuova riga, riporto il codice, nome, ometto la data blocco e metto bloccato=no e data sblocco in modo tale da avere uno storico.
Il report ho provato a farlo con una macro però cosa succede: nella macro ho fatto cercare tutte le righe che hanno NO nella colonna bloccato e le faccio cancellare, così mi rimangono solo quelli SI. Però questo elenco è ovviamente sbagliato però, non riesco a far considerare l'ultimo aggiornamento sulla riga con il NO del blocco ...
inserisco la macro "maccheronica" che ho adoperato , chiedo aiuto a Voi, esperti amici, come posso superare questo ostacolo? La traccia delle righe posso ovviamente riconsiderarla completamente, solo mi piacerebbe mantenere una gestione "semplice" in quanto dovrei condividerlo con una persona poco informatica, che adopera Excel 2003.
- Codice: Seleziona tutto
Sub copia_e_cancella_righe_NO()
'
'
Sheets("report").Select
Cells.Select
Selection.Clear
Range("A1").Select
Sheets("INPUT Dati").Select
Columns("A:F").Select
Selection.Copy
Sheets("report").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A2:F2").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range("J1").Select
Sheets("var").Select
Range("A4").Select
Selection.Copy
Sheets("report").Select
ActiveSheet.Paste
Columns("J:J").EntireColumn.AutoFit
Range("K1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=NOW()"
Columns("K:K").EntireColumn.AutoFit
Range("K2").Select
Dim riga As Integer, col As Integer
col = 4
For riga = 5000 To 1 Step -1
If Cells(riga, col) = "NO" Then Rows(riga).Delete
Next
Sheets("INPUT Dati").Select
Range("A1").Select
Sheets("report").Select
End Sub
Grazie
un gran saluto a tutti voi!
ciao
Antonio