Creare Elenchi

Storico discussioni

creare elenchi di Ricky
Dunque, premetto che non sono un programmatore, è solo un passatempo che mi appassiona;
ho bisogno di un grosso aiuto a perfezionare una funzioncina che per ora fa solo in parte quello che vorrei;
come vedete tramite un InputBox vado ad aggiornare il valore delle celle B38 e C38 di un Foglio1 rispettivamente con la data del giorno precedente e un valore che cambia giornalmente...e fin qui tutto Ok...

Sub Modifica_NAV_DA_Clic()
myNum = Application.InputBox("Modifica valore...", Format(Range("C38"), "Currency"), 50, 150, , , 9)
If myNum <> False Then
If myNum <> Range("C38") Then
If MsgBox("Sicuro di voler Modificare il valore " & Format(Range("C38"), "Currency") & " con " & Format(myNum, "Currency") & " ?", vbYesNo + vbQuestion, _
"Modifica valore") = vbYes Then

Range("B38") = CDate(FormatDateTime(Now - 1, vbShortDate))
Range("C38") = myNum

End If
ElseIf myNum = Range("C38") Then
MsgBox "Non hai modificato il valore..."

End If
End If
End Sub


mi servirebbe che contemporaneamente su un Foglio2 venissero memorizzati i dati che aggiorno sul foglio1 , ottenedo un elenco di coppie data e valore, in più ci dovrebbe essere la possibilità ad es. cambiando più volte al giorno il valore, di non aggiungere più righe con la stessa data, ma di aggiornare quella già esistente;
c' è qualcuno disposto a spenderci un po di tempo per darmi una mano ?
Grazie in ogni caso...

di Apoben64
Ciao Ricky, non sò se ho compreso bene quello che vuoi ottenere, da parte mia, riportando il tuo codice in excel, ho creato un modulo COPIA , inserito nella tua istruzione dopo End If; in modo che quando tu scegli il valore , automicamente ti copia il tutto nel foglio 2.
La macro COPIA ha il seguente codice :

Sub COPIA()
Dim Indiceriga As Integer
ActiveSheet.Range("A1:B1").Select
Selection.Copy
Sheets("Foglio2").Select
For Indiceriga = 1 To 200
With Worksheets("Foglio2").Cells(Indiceriga, 1)
If .Value = "" Then GoTo 10
End With
Next Indiceriga
Exit Sub
10:
Sheets("Foglio2").Select
Cells(Indiceriga, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
End Sub

Questo è un primo passo, vediamo se poi anche Mauro ti può dare ulteriori consigli.

L'ho provata e tutto funziona !

di ENZO
SE VUOI ANCHE IL MIO MODESTO PARERE PER OVVIARE AL FATTO CHE SE NON CAMBIA LA DATA IL VALORE NON DEVE ESSERE AGGIUNTO IN UN ALTRA RIGA DOVRESTI INSERIRE IN UN FOGLIO NASCOSTO CHE POI RICHIAMI A TUO PIACIMENTO LA FORMULA "ADESSO" CHE TI INSERISCE LA DATA DEL GIORNO E NELLA TUA ROUTINE NEL MOMENTO IN CUI VUOI SCRIVERE IL VALORE FAI IL CONFRONTO TRA LA TUA DATA E QUELLA CHE TROVA NELLA FORMULA ADESSO.
SE UGUALE NON INSERIRE RIGHE ALTRIMENTI SI.
SPERO DI ESSERE STATO CHIARO

di Mauro
Ciao Ricky, Luca ed Enzo sanno bene ke di solito programmo solamente per persone ke danno un contributo attivo al forum.
Nel tuo caso ho fatto un eccezione con la speranza ke vorrai essere anke tu dei nostri, nel darci una mano a rispondere alle molte richieste.
Ciao


Sub Modifica_NAV_DA_Clic()
myNum = Application.InputBox("Modifica valore...", Format(Range("C38"), "Currency"), 50, 150, , , 9)
If myNum <> False Then
If myNum <> Range("C38") Then
If MsgBox("Sicuro di voler Modificare il valore " & Format(Range("C38"), "Currency") & " con " & Format(myNum, "Currency") & " ?", vbYesNo + vbQuestion, _
"Modifica valore") = vbYes Then

ComData = CDate(FormatDateTime(Now - 1, vbShortDate))
ComVal = myNum

indi = 1
Do Until Sheets("Foglio2").Range("A" & indi) = ""
If Sheets("Foglio2").Range("A" & indi).Value = ComData Then
ComVal = myNum + Sheets("Foglio2").Range("B" & indi).Value
Exit Do
End If
indi = indi + 1
Loop

Sheets("Foglio2").Range("A" & indi) = ComData
Sheets("Foglio2").Range("B" & indi) = ComVal

Range("B38") = CDate(FormatDateTime(Now - 1, vbShortDate))
Range("C38") = myNum

End If
ElseIf myNum = Range("C38") Then
MsgBox "Non hai modificato il valore..."

End If
End If
End Sub

di Apoben64
Mauro, come al solito colpisci con semplicità e competenza !!!!C'è ancora molto da imparare !!!

di Ricky
Ragazzi, non so come ringraziarvi, provo subito gli esempi che mi avete postato e vediamo qual'è che fa di più al caso mio...spero di nel mio piccolo poter ricambiare la gntilezza

di Ricky
Grazie di nuovo a tutti ed in particolare a mauro che fatto centro, era proprio quello che mi serviva

Cognolato Studio © 2005