View Full Version : Microsoft Access o Excel
pimpi1987
10-06-2011, 12:48
Salve, premettendo che non so usare access avrei bisogno di sapere se è possibile risolvere questo problema:
io ho una tabella contenente:
CODICE|DATA|GIORNO_CON_BUCO su tre colonne diverse e nella colonna DATA le date presenti non sono tutte le possibili (ad esempio si passa dal 5/3 al 8/3). Come posso fare per aggiungere le righe delle date mancanti? (ovviamente si parla di migliaia di righe e farlo una alla volta sarebbe distruttivo) e aggiungendo queste righe vorrei che nella colonna GIORNO_CON_BUCO comparisse la scritta MANCANTE in corrispondenza di ogni riga aggiunta.
Ovviamente se fosse possibile farlo in excel sarebbe preferibile.
Grazie per la risposta.
Sub inserisci_date()
For Each cell In Range("b2:b100000")
val_prec = cell.Offset(-1, 0).Value
If cell.Value - val_prec > 1 Then
cell.Select
Selection.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
cell.Offset(-1, 0).Value = val_prec + 1
cell.Offset(-1, 1).Value = "MANCANTE"
End If
Next cell
End Sub
guarda se va :)
pimpi1987
10-06-2011, 15:27
Grazie zuper, ma scusa l'ignoranza...dove dovrei inserire il codice? è una macro?
:(
Grazie zuper, ma scusa l'ignoranza...dove dovrei inserire il codice? è una macro?
:(
si :)
tasto destro sul tab del foglio in basso -> visualizza codice
pimpi1987
10-06-2011, 16:59
si :)
tasto destro sul tab del foglio in basso -> visualizza codice
Fatto...ma quando provo ad eseguire la macro mi compare il messaggio "Tipo non corrispondente". Ti dico subito che non sono pratico di macro e Visual Basic, anzi è la prima volta che mi cimento ma non mi dispiacerebbe imparare :muro:
dopo visualizza codice
inserisci
modulo
qui incolli e schiacci play in alto :) la freccina verde
pimpi1987
11-06-2011, 10:49
dopo visualizza codice
inserisci
modulo
qui incolli e schiacci play in alto :) la freccina verde
ho seguito passo passo ma nada, mi da lo stesso errore :cry:
chiedo troppo se ti mando il file e provi a darci un'occhiata? please, per te magari è una cosa da cinque minuti... se non puoi cmq vai tranquillo :D
beh se nn contiene dati sensibili posta pure qui
magari solo una parte dei dati almeno il file non è enorme
pimpi1987
11-06-2011, 11:44
beh se nn contiene dati sensibili posta pure qui
magari solo una parte dei dati almeno il file non è enorme
si si, niente di sensibile.
grazie mille in anticipo. 80470
si si, niente di sensibile.
grazie mille in anticipo. 80470
nel range metti For Each cell In Range("b3:b100000")
in pratica b3 invece di b2, non avevo calcolato eventuale intestazione :)
Sub inserisci_date()
For Each cell In Range("b3:b100000")
val_prec = cell.Offset(-1, 0).Value
If cell.Value - val_prec > 1 Then
cell.Select
Selection.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
cell.Offset(-1, 0).Value = val_prec + 1
cell.Offset(-1, 1).Value = "MANCANTE"
cell.Offset(-1, -1).Value = cell.Offset(0, -1).Value
End If
Next cell
End Sub
ho sistemato anche la copia del codice che nn avevi specificato prima :)
pimpi1987
11-06-2011, 20:27
Sub inserisci_date()
For Each cell In Range("b3:b100000")
val_prec = cell.Offset(-1, 0).Value
If cell.Value - val_prec > 1 Then
cell.Select
Selection.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
cell.Offset(-1, 0).Value = val_prec + 1
cell.Offset(-1, 1).Value = "MANCANTE"
cell.Offset(-1, -1).Value = cell.Offset(0, -1).Value
End If
Next cell
End Sub
ho sistemato anche la copia del codice che nn avevi specificato prima :)
funziona! grazie mille!!! sei un fenomeno!!! :D :D :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.