› Sviluppare funzionalita su Microsoft Office con VBA › inserire dati da textbox (userform) a cella solo se valore presente
-
AutoreArticoli
-
non mi ricordo se avevo cliccato su risposta nel forum
1. Nel modulo 1 ho inserito la sub ripristina foglio, quindi se tu compili i campi Cliente (b1:b5) e fai partire la macro dopo aver modificato qualcosa con l'userform, lui stampa il pdf ma non ripristina il foglio come se non avesse immagazzinato l'array (nel precedente file funzionava)
allora questo sembra che sono riuscito a farlo funzionare, in realta nella sub ripristina foglio ho eliminato la stringa di formattazione numero e mi riporta il ripristino cosi:
Sub RipristinaFoglio() Dim i As Byte Dim k As Byte Dim x As Variant Dim y As Variant x = Array("B8", "B9", "B10", "B11", "B12", "B22", "D22", "B23", "D23", "D24", "D25", _ "D26", "D27", "D28", "D29", "D30", "D31", "D32", "D33", "D34", "D35", "D36", _ "D37", "D38", "D39", "D40", "D41", "D42", "D43", "D46", "D47", "D48", "D52", _ "D56", "D57", "D58") y = Array("D12", "D13", "D14", "D15", "D17", "A23", "A24", "A25", "A26", "A27", "A28", _ "A29", "A30", "A31", "A32", "A33", "A34", "A35", "A36", "A37", "A38", "A39", _ "A40", "A41", "A42", "A43", "A57", "A58", "A59") With ThisWorkbook For i = 1 To 36 'se array(i) vuoto allora salta If Formule_in_Celle1(i) <> "" Then .Worksheets("Input").Range(x(i - 1)).FormulaLocal = Formule_in_Celle1(i) End If Next i For k = 1 To 29 'se array(k) vuoto allora salta If Formule_in_Celle2(k) <> "" Then .Worksheets("Output").Range(y(k - 1)).FormulaLocal = Formule_in_Celle2(k) End If Next k End With End Subperchè tecnicamente la formattazione mi serve quando immetto i dati dalle textbox perchè non la mantiene ma non mi serve quando ripristina il foglio con l'array perchè almeno per quanto ho capito crea una copia di dati e inserendo nuovamente gli stessi dati la formattazione ritorna normale
non sono invece riuscito a far partire l'userform dal foglio input
1. Nel modulo 1 ho inserito la sub ripristina foglio, quindi se tu compili i campi Cliente (b1:b5) e fai partire la macro dopo aver modificato qualcosa con l'userform, lui stampa il pdf ma non ripristina il foglio come se non avesse immagazzinato l'array (nel precedente file funzionava)
Ma sei sicuro? A me funziona correttamente. Aggiungo i dati del cliente nei campi che vanno da B1 a B5. Poi avvio la UserForm per la modifica degli altri dati. Lancio la stampa. Mi creai il PDF e i 2 file Excel e poi ripristina il foglio com'era poco prima di aver inizializzato la UserForm. (Diciamo che in più, tu nel modulo1, prima che venga chiamata la Sub Ripristina, fai eseguire alcune modifiche su alcune celle).
Cmq ti giro questa nuova versione che seleziona la Page Input all'apertura della Form
Allegati:
You must be logged in to view attached files.Ma sei sicuro? A me funziona correttamente. Aggiungo i dati del cliente nei campi che vanno da B1 a B5. Poi avvio la UserForm per la modifica degli altri dati. Lancio la stampa. Mi creai il PDF e i 2 file Excel e poi ripristina il foglio com'era poco prima di aver inizializzato la UserForm. (Diciamo che in più, tu nel modulo1, prima che venga chiamata la Sub Ripristina, fai eseguire alcune modifiche su alcune celle).
Guarda non so davvero che dirti, effettivamente con questo nuovo file il problema non c'è ed hai lasciato anche quello che io avevo tolto, non saprei davvero dirti ma quando cambiavo le formule non mi ritornavano normali.
Vabbe meglio cosi, Grazie mille faccio prove intensive e ti do un feedback, ma pare che il risultato ci sia
-
AutoreArticoli
