Sviluppare funzionalita su Microsoft Office con VBA inserire dati da textbox (userform) a cella solo se valore presente

Login Registrati
Stai vedendo 4 articoli - dal 26 a 29 (di 29 totali)
  • Autore
    Articoli
  • #44540 Score: 0 | Risposta

    FROST220684
    Partecipante

      non mi ricordo se avevo cliccato su risposta nel forum   

      #44544 Score: 0 | Risposta

      FROST220684
      Partecipante

        FROST220684 ha scritto:

        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 Sub

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

        #44545 Score: 1 | Risposta

        alexps81
        Moderatore
          58 pts

          FROST220684 ha scritto:

          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.
          #44547 Score: 0 | Risposta

          FROST220684
          Partecipante

            alexps81 ha scritto:

            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

          Login Registrati
          Stai vedendo 4 articoli - dal 26 a 29 (di 29 totali)
          Rispondi a: inserire dati da textbox (userform) a cella solo se valore presente
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: