formato valuta



  • formato valuta
    di stefanmi data: 07/09/2013 00:52:39

    ho questa macro che funziona ma vorrei che la variabile "netto" restituisse il dato con 2 decimali, e se possibile non intervenire sul numero di e-mail da inviare ma lo facesse automaticamente contando le celle nella colonna A, grazie
     
    Sub multimail()
    row_number = 1
    
    Do
    DoEvents
     row_number = row_number + 1
       Dim corpo As String
       Dim nome As String
       Dim tessera As Integer
       Dim promo As String
       Dim netto As Integer
     
     corpo = Foglio1.Range("J2")
     nome = Foglio1.Range("B" & row_number) '& " " & Foglio1.Range("C" & row_number)
     tessera = Foglio1.Range("C" & row_number)
     promo = Foglio1.Range("D" & row_number)
     netto = Foglio1.Range("E" & row_number)
     corpo = Replace(corpo, "replace_name_here", nome)
     corpo = Replace(corpo, "promo_code_replace", promo)
     corpo = Replace(corpo, "netto_replace", netto)
     corpo = Replace(corpo, "tessera_replace", tessera)
     'MsgBox corpo
     
     Call SendEmail(Foglio1.Range("A" & row_number), "avviso rimborso ", corpo)
     Loop Until row_number = 2
     
    
     
    End Sub
    



  • di HarryBosch data: 07/09/2013 13:56:54

    Per impostare i decimali devi dichiarare la variabile "netto" con il tipo Single o Double.
    Integer comprende un intervallo di soli numeri interi: da -32.768 a 32.767.

    Per inviare le mail a tutti gli indirizzi della colonna A, devi fermare il ciclo nel momento in cui trova la prima cella vuota. A patto che non ci siano appunto righe vuote in mezzo alla tabella dei dati.

    Se utilizzi il "With Foglio1" eviti di ripetere lo stesso riferimento tutte le volte. Basta solo inserire il punto per richiamare il Foglio1.
     
    Sub multimail()
      Dim corpo As String, nome As String, promo As String
      Dim row_number As Integer, tessera As Integer
      
      'per visualizzare i decimali si deve utilizzare il tipo Double
      Dim netto As Single
    
      'riga di partenza della colonna A: primo indirizzo in riga 2
      row_number = 2
    
      With Foglio1
        Do
          DoEvents
    
          corpo = .Range("J2")
          nome = .Range("B" & row_number)  '& " " & .Range("C" & row_number)
          tessera = .Range("C" & row_number)
          promo = .Range("D" & row_number)
          netto = Format(.Range("E" & row_number), "0.00")
    
          corpo = Replace(corpo, "replace_name_here", nome)
          corpo = Replace(corpo, "promo_code_replace", promo)
          corpo = Replace(corpo, "netto_replace", netto)
          corpo = Replace(corpo, "tessera_replace", tessera)
          'MsgBox corpo
            
          'Call SendEmail(.Range("A" & row_number), "avviso rimborso ", corpo)
    
          row_number = row_number + 1
          
          'l'invio delle mail si ferma quando trova la prima cella vuota lungo la colonna A
        Loop Until .Range("A" & row_number) = ""
      End With
    
    End Sub



  • di stefanmi data: 07/09/2013 20:45:19

    come al solito precisi e puntuali ,grazie veramente