Problemi con visual basic



  • Problemi con visual basic
    di Panacuoco (utente non iscritto) data: 03/02/2012

    Ho creato questo codice, ma vorrei che lo stesso cercasse anche, sempre dalla riga 7 to 16 un'altra variabile, p.es if cells(r,4)value=<53 then
    foglio8.cells(i,10).value=cells(r,18)value
    else
    foglio8.cells(i,10).value=cells(r,18)value*(r,19)value.
    purtrommo non funziona.
    mi potete dare una soluzione?
     
    Sub prev()
        pippo = 21
        'ipt = 50
        For r = 7 To 16
            If Cells(r, 17).Value > 0 Then
                Foglio8.Cells(pippo, 6).Value = Cells(r, 17).Value
                Foglio8.Cells(pippo, 3).Value = Cells(r, 10).Value
                Foglio8.Cells(pippo, 7).Value = Cells(r, 12).Value
                'Foglio8.Cells(ipt, 10).Value = Cells(r, 18).Value
                pippo = pippo + 1
            End If
            
        Next r
      
            
    End Sub
    



  • di Locate (utente non iscritto) data: 03/02/2012

    Ciao
    stando ai tuoi dati non riesco a capire dove vai a prendere il valore (i as variant)per il ciclo for = foglio8.cells(i,10).value=cells(r,18)value*(r,19)value.
    seconda cosa il segno =< nella sintassi di vba va scritto con <=
    terza cosa dove devi fare la verifica di inserimento dati su tutte le celle in questione o su una in particolare?? sapendo questo la cosa e' risolvibile all'istante modificando in alcuni punti la tua macro

    ciao da locate

     
    Ho creato questo codice, ma vorrei che lo stesso cercasse anche, sempre dalla riga 7 to 16 un'altra variabile, p.es if cells(r,4)value=<53 then 
    foglio8.cells(i,10).value=cells(r,18)value 
    else 
    foglio8.cells(i,10).value=cells(r,18)value*(r,19)value. 
    purtrommo non funziona. 
    mi potete dare una soluzione?
     
    
    Sub prev()
        pippo = 21
        'ipt = 50
        For r = 7 To 16
            If Cells(r, 17).Value > 0 Then
                Foglio8.Cells(pippo, 6).Value = Cells(r, 17).Value
                Foglio8.Cells(pippo, 3).Value = Cells(r, 10).Value
                Foglio8.Cells(pippo, 7).Value = Cells(r, 12).Value
                'Foglio8.Cells(ipt, 10).Value = Cells(r, 18).Value
                pippo = pippo + 1
            End If
            
        Next r
      
            
    End Sub
    
     
    



  • di Panacuoco (utente non iscritto) data: 05/02/2012

    E' giusto bisogna inserire una riga di comando sotto pippo=21
    i=50
    la verifiva va fatta nelle righe da 7 a 16 e precisamente nella colonna 4.
    quindi ricapitolando, se nella colonna 4 delle righe da 7 a 16 il valore inserito è minore o uguale a 53, inserire nella cella 10 della riga 50 (i=10) il valore scritto nella cella alla riga 7 cella 18; se il valore è superiore a 53 allora moltiplica il valore della cella 18 alla riga 7 per il valore della cella 19 alla riga 7.
    spero di essere stato più chiaro e ti ringrazio per l'aiuto che mi stai dando.



  • di Locate (utente non iscritto) data: 06/02/2012

    Ciao

    nella tua descrizione non ho capito bene il discorso di riga associato a cella 18 o 19,
    comunque ti passo la macro in base a quello che mi sembra di aver capito

    ciao da locate
     
    Sub prev()
    Dim pippo As Long
    Dim i As Long
    Dim r As Variant
        
    pippo = 21
    i = 50
    
    For r = 7 To 16
        If Cells(r, 4) <= 53 Then
          Foglio8.Cells(i, 10) = Foglio8.Cells(r, 18)
        Else
          Foglio8.Cells(i, 10) = Foglio8.Cells(r, 18) * Cells(r, 19)
        End If
            If Cells(r, 17).Value > 0 Then
                Foglio8.Cells(pippo, 6).Value = Foglio8.Cells(r, 17).Value
                Foglio8.Cells(pippo, 3).Value = Foglio8.Cells(r, 10).Value
                Foglio8.Cells(pippo, 7).Value = Foglio8.Cells(r, 12).Value
                'Foglio8.Cells(ipt, 10).Value = Cells(r, 18).Value
                
            End If
         pippo = pippo + 1
         i = i + 1
     Next r
    End Sub
    
    



  • di Panacuoco (utente non iscritto) data: 06/02/2012

    Grazie