Vba non mi copia la cella

di il
5 risposte

Vba non mi copia la cella

Non capisco perchè mi da sempre errore, mi potete aiutare
cell = Range("B" & CStr(i)).Value <> ""
-----------------------------
Questo è il codice:

'dichiaro la variavile cell di tipo String
Dim cell As String

'copiare il valore della cella
cell = Range("B" & CStr(i)).Value <> ""

Select Case cell
Case "VE22"
    If Range("B") <> "" Then
        Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
    End If
        If Response = vbYes Then
        Worksheets("Prospetto").Range("C10").Copy Worksheets("Quadro VE").Range("I10")
        Worksheets("Prospetto").Range("D10").Copy Worksheets("Quadro VE").Range("K10")
        End If

End Select

5 Risposte

  • Re: Vba non mi copia la cella

    Tanto per cominciare ... di quale errore parli esattamente??

    Secondo te qual è il valore contenuto in cell dopo l'esecuzione dell'espressione

    cell = Range("B" & CStr(i)).Value <> ""

    Perché ci dovresti trovare "VE22" ?

    E la variabile i da dove viene? Quanto vale?
  • Re: Vba non mi copia la cella

    E' la prima volta che uso le macro per programmare in vba.

    Il codice che ho scritto, non ha senso.
    cell = Range("B" & CStr(i)).Value <> ""

    Essendo nella Colonna B è fatto in questo modo

    Colonna B Colonna C

    VE22 10
    VE23 34
    VE24 67
    ..... ------

    il mio obbiettivo che quando faccio la select è avvio la macro, seleziono tutte le righe con il nome VE22, VE23, ecc...
    devo fare la copia del valore nella colonna C.

    Però il Debug mi dà nella variabile cell.

    Hai qualche suggerimento o qualche esempio simile?
  • Re: Vba non mi copia la cella

    robot ha scritto:


    E' la prima volta che uso le macro per programmare in vba.

    Il codice che ho scritto, non ha senso.
    Allora di che parliamo?

    ...
    Hai qualche suggerimento o qualche esempio simile?
    Il suggerimento è quello di spiegare esattamente cosa vuoi fare, perché non si è ancora capito.

    Poi dovresti studiare un po' il VBA, perché non puoi pensare che altri scrivano il codice per te.
  • Re: Vba non mi copia la cella

    In questo modo mi funziona.
    Ma quando avvio la macro la copia deve avviarsi in automatico senza che utilizzo inputBox, come si può fare?

    
    Dim myValue As Variant
     
    myValue = InputBox("Inserisci il Valore: ")
    
    Select Case myValue
    
    Case "VE22"
    
        If Range("B10") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C10").Copy Worksheets("Quadro VE").Range("I10")
            Worksheets("Prospetto").Range("D10").Copy Worksheets("Quadro VE").Range("K10")
            End If
            
    Case "VE23"
    
        If Range("B11") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C11").Copy Worksheets("Quadro VE").Range("I11")
            Worksheets("Prospetto").Range("D11").Copy Worksheets("Quadro VE").Range("K11")
            End If
            
    Case "VE24"
    
        If Range("B12") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C12").Copy Worksheets("Quadro VE").Range("I12")
            Worksheets("Prospetto").Range("D12").Copy Worksheets("Quadro VE").Range("K12")
            End If
            
    Case "VE26"
    
        If Range("B13") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("D13").Copy Worksheets("Quadro VE").Range("k14")
            End If
            
    Case "VE30"
    
        If Range("B14") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C14").Copy Worksheets("Quadro VE").Range("I16")
            End If
    
    Case "VE30A"
    
        If Range("B15") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C15").Copy Worksheets("Quadro VE").Range("D18:E18")
            End If
            
    Case "VE33"
    
        If Range("B16") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C16").Copy Worksheets("Quadro VE").Range("I24")
            End If
            
    Case "VE50"
    
        If Range("B17") <> "" Then
            Response = MsgBox("Vuoi sovrascrivere i dati esistenti", vbYesNo)
        End If
            If Response = vbYes Then
            Worksheets("Prospetto").Range("C17").Copy Worksheets("Quadro VE").Range("I45")
            End If
    
    End Select
    
    
    Quando avvio la macro, la copia deve fare in automatico
  • Re: Vba non mi copia la cella

    Risolto
Devi accedere o registrarti per scrivere nel forum
5 risposte