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 |
|
| |