Errore 438 in vba



  • Errore 438 in vba
    di Bias (utente non iscritto) data: 17/04/2011

    Salve a tutti,
    sto realizzando un applicativo in excel vba da utilizzare per il mio lavoro. devo copiare dati (righe intere) da un foglio ed incollarli in un altro foglio di lavoro, nella riga di riferimento. la routine si blocca nel momento che deve rilasciare i dati "application.cutcopymode = false". ho provato anche con "sendkeys" ma mi da lo stesso errore. avete qualche suggerimento? grazie b.

    ps
    la descrizione dell'errore è:
    438:proprietà o metodo non supportati dall'oggetto.
     
    Sub PVMI3()
    Dim Impianto, I
    
    '**********
    Sheets(VettName(1)).Activate
    DoEvents
    Application.ScreenUpdating = False
    For MyRow = 1 To 260
    Impianto = ""
        If Cells(MyRow, 1).Text <> "" Then
            If Cells(MyRow, 2).Text = "00" Then
                Impianto = Cells(MyRow, 1).Value
                Application.CutCopyMode = False
                Rows(MyRow).Select
                Selection.Copy
                Worksheets(VettName(0)).Select
                For I = 1 To 260
                    If Worksheets(VettName(0)).Cells(I, 1).Text = Impianto Then
                        Rows(I).Select
                        Rows(I).Paste
                        'Application.CutCopyMode = False
                    End If
                Next
            End If
        End If
    Next
        
    Application.ScreenUpdating = True
    End Sub



  • di Bias (utente non iscritto) data: 17/04/2011

    Errata corrige:
    la routine si blocca quando incolla i dati.
    "rows(i).paste"
    grazie


  • Risolto
    di Bias (utente non iscritto) data: 17/04/2011

    Ho risolto così.
     
    Sheets(VettName(1)).Activate
    DoEvents
    Application.ScreenUpdating = False
    For MyRow = 1 To 260
    Impianto = ""
    Sheets(VettName(1)).Select
        If Cells(MyRow, 1).Text <> "" Then
            If Cells(MyRow, 2).Text = "00" Then
                Impianto = Cells(MyRow, 1).Value
                Application.CutCopyMode = False
                Rows(MyRow).Select
                Selection.Copy
                Sheets(VettName(0)).Select
                For I = 1 To 260
                    If Sheets(VettName(0)).Cells(I, 1).Text = Impianto Then
                        Rows(I).Select
                        ActiveSheet.Paste
                        Application.CutCopyMode = False
                    End If
                Next
            End If
        End If
    Next
        
    Application.ScreenUpdating = True
    End Sub